gpt4 book ai didi

php - Mysql 使用 php 下拉列表中的值选择查询

转载 作者:行者123 更新时间:2023-11-29 12:43:24 24 4
gpt4 key购买 nike

我开始用 php 编程,但我有一个小疑问。

我正在尝试使用下拉列表中的值来搜索数据库。

问题在于查询始终使用下拉列表的最后一个值。

有谁能帮我找出错误吗?

为什么 where 子句中的研究总是下拉菜单的最后一个值?

<小时/>

代码

<tr><td>Technical:</td><td>

<select>
<?php
$query = "SELECT idTechnical, name FROM technicals";
$result2 = mysql_query($query);
$options="";
while($row=mysql_fetch_array($result2)){
$id=$row["idTechnical"];
$thing=$row["name"];
echo "<OPTION VALUE=$id>$thing</option>";
}
?>
</select>

<?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);
}
}
}
?>

我从下拉列表中选择任何值,但仅使用子句中的最后一个值:S

enter image description here

最佳答案

以下是我要对表单执行的操作(假设您有一个正确的表单标记,其中的操作属性指向正确的 PHP 脚本):

<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>

然后在 PHP 脚本中:

$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);

这应该适合你。

但请注意:上面的脚本存在安全风险,因为它为 SQL 注入(inject)敞开了大门

更好的方法是使用 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 数据库查询。祝你好运,编码愉快!

关于php - Mysql 使用 php 下拉列表中的值选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25792282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com