Mysql使用php下拉列表中的值选择查询
我开始用php编程,我有点怀疑 我正在尝试使用下拉列表中的值搜索数据库 问题是查询总是使用下拉列表的最后一个值 有人能帮我找到错误吗 为什么where子句的研究总是下拉列表的最后一个值Mysql使用php下拉列表中的值选择查询,php,mysql,Php,Mysql,我开始用php编程,我有点怀疑 我正在尝试使用下拉列表中的值搜索数据库 问题是查询总是使用下拉列表的最后一个值 有人能帮我找到错误吗 为什么where子句的研究总是下拉列表的最后一个值 代码 技术: 以下是我对表单所做的操作(假设您有一个正确的表单标记,带有指向正确PHP脚本的action属性): 这应该对你有用 但请注意:上面的脚本存在安全风险,因为它为SQL注入敞开了大门 更好的方法是使用PDO准备的语句,如下所示: $db = new PDO('mysql:host=CHANGE_T
代码
技术:
以下是我对表单所做的操作(假设您有一个正确的表单标记,带有指向正确PHP脚本的action属性):
这应该对你有用
但请注意:上面的脚本存在安全风险,因为它为SQL注入敞开了大门
更好的方法是使用PDO准备的语句,如下所示:
$db = new PDO('mysql:host=CHANGE_THIS_TO_YOUR_HOST_NAME;
dbname=CHANGE_THIS_TO_YOUR_DATABASE',
'CHANGE_THIS_TO_YOUR_USERNAME',
'CHANGE_THIS_TO_YOUR_PASSWORD');
$sql='SELECT
idTask,
descTask,
deadline,
idTechnical
FROM tasks
WHERE idTechnical = :id
ORDER BY deadline DESC';
$query = $db->prepare($sql);
$query->bindValue(':id', $_REQUEST['technical']);
$query->execute();
$count = $query->rowCount();
如果您刚刚开始使用PHP,我强烈建议您花一些时间熟悉PDO数据库查询。祝你好运和快乐 你应该有一个名字。然后您应该从$\u POST['name\u of_your\u select\u element']侧注:您应该引用变量echo“$thing”代码>您可能会得到意外的结果。回显'.$thing'代码>$id
在您的搜索脚本中没有定义。@LauriOrgla感谢您的回复。你的建议对我有用。
<?php
if (isset($_POST['Next'])) {
if($_REQUEST['Next']=='Search') {
{
$sql="select idTask, descTask, deadline, idTechnical from tasks where idTechnical = '$id' order by deadline desc";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
}
}
}
?>
<tr>
<td>Technical:</td>
<td>
<select name="technical">
<?php
$query = "SELECT idTechnical, name FROM technicals";
$result2 = mysql_query($query);
$options="";
while($row=mysql_fetch_array($result2)){
echo '<option value='.$row["idTechnical"].'>
'.$row["name"].'
</option>';
}
?>
</select>
</td>
$sql='SELECT
idTask,
descTask,
deadline,
idTechnical
FROM tasks
WHERE idTechnical = '.$_REQUEST['technical'].'
ORDER BY deadline DESC';
$result=mysql_query($sql);
$count=mysql_num_rows($result);
$db = new PDO('mysql:host=CHANGE_THIS_TO_YOUR_HOST_NAME;
dbname=CHANGE_THIS_TO_YOUR_DATABASE',
'CHANGE_THIS_TO_YOUR_USERNAME',
'CHANGE_THIS_TO_YOUR_PASSWORD');
$sql='SELECT
idTask,
descTask,
deadline,
idTechnical
FROM tasks
WHERE idTechnical = :id
ORDER BY deadline DESC';
$query = $db->prepare($sql);
$query->bindValue(':id', $_REQUEST['technical']);
$query->execute();
$count = $query->rowCount();