【发布时间】:2013-07-03 01:02:11
【问题描述】:
我在完成任务而不是回显结果后收到错误“错误:查询为空”。我怀疑即使更新了最后一个数组,FOREACH 仍会尝试执行查询。我说的对吗?
如果是,我该如何纠正?
<?php
$con = mysql_connect("localhost", "$username" , "$password");
mysql_select_db($database, $con);
?>
<?php
foreach ($_POST['id'] as $key=>$id)
{
$order = $_POST['order'][$key];
mysql_query("UPDATE table SET `order`=$order WHERE `id` = $id");
}
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "<div class=\"result\">**1 record updated**</div>";
?>
非常感谢
有关发布这些值的表单的更多信息:Create array from form and update mysql
【问题讨论】:
-
您在什么时候填充了
$sql?不在上面的代码中......这是导致错误的空查询。 -
至少,您必须保护
$id免受 sql 注入。如果它是预期的整数,请执行$id = intval($id) -
print_r($_POST);看起来像多了一个 id 然后 oder -
!mysql_query($sql,$con) 但是你在哪里设置 $sql?
-
我刚刚用初始化文件的内容更新了这个问题。是的,Dagon,我有几个 id 和表单中的订单。