mysql / php更新查询参数导致它失败

时间:2012-11-14 22:20:34

标签: php mysql

我试图让我的表单以this video的方式工作。 (如果您只是移动到最后3-4分钟,您将看到他的最终代码。)

  $UpdateQuery = "UPDATE aznet_data_spare_inventory SET ID='$_POST[id]', Shelf='$_POST[shelf]', Device Type='$_POST[device type]' WHERE ID='$_POST[hidden]'";

如果我取出更新查询的设备类型部分,ID和Shelf更新将起作用,但是当我尝试使设备类型工作时,它就会中断。我想我只是想知道是否有针对空格的规则或沿着那些线的东西。

2 个答案:

答案 0 :(得分:0)

首先考虑使用MySQLi或PDO而不是MySQL,然后尝试调试代码

$UpdateQuery = "UPDATE aznet_data_spare_inventory SET ID='$_POST[id]', Shelf='$_POST[shelf]', Device Type='$_POST[device type]' WHERE ID='$_POST[hidden]'";

if(mysql_query($UpdateQuery,$con)){
//query is ok
 echo "item is updated";
}else{
 die(mysql_error());
}

答案 1 :(得分:0)

注意,不推荐使用MySql扩展,您应该考虑使用MySqli或PDO。你永远不应该输入用户输入数据,例如$_POST,直接进入您的查询。研究消毒该数据的正确方法。
我没有看到你在while循环中关闭<tr>标记。您也不会关闭任何<input>代码。

是的,MySql列名也不应该有任何空格。尝试将Device Type重命名为Device_Type。如果您检查mysql_query()是否返回false并输出mysql_error(),则可能会提供一些错误详情。