PHP代码中的动态SQL请求[重复]

问题描述 投票:-8回答:1

这个问题在这里已有答案:

我目前正在使用PHP编写插件,我有一个包含1到30之间数字的列表框和一个“提交”按钮。插件页面正在运行一些SQL请求。

关键是当您在list box中选择一个数字并单击提交按钮时,SQL请求应该更新。

例如:

SELECT G.xxx 
FROM yyy M, 
     zzz G 
WHERE M.name = G.nomfield 
AND G.nomfield = "xxx" 
AND G.idfield = 01 
AND G.xxx = $numberfrom1to30

单击提交按钮后,显示应根据list box中选择的数字而有所不同。我该怎么做?

我试过了:

<?php 
$selected = isset( $_GET['numberfrom1to30'] ) ? $_GET['numberfrom1to30'] : "" ;
$selectedValue = 'selected="selected"';
?>
<?php           
$numberfrom1to30= $_GET['numberfrom1to30'];
?>

但这是我的错误:Unknown column '$numberfrom1to30' in 'where clause'

php sql web
1个回答
1
投票

您有两个问题:SQL注入,并在查询中使用错误的引号:

//convert to number to prevent SQL injection
$numberfrom1to30 = intval($_GET['numberfrom1to30']);

$query = "SELECT G.xxx FROM yyy M, zzz G WHERE M.name = G.nomfield AND G.nomfield = 'xxx' AND G.idfield = 01 AND G.xxx = $numberfrom1to30";
© www.soinside.com 2019 - 2024. All rights reserved.