这个问题在这里已有答案:
我目前正在使用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'
您有两个问题: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";