我有一个简单的mysql_query()
更新命令来更新mysql。
当用户提交表单时,它将跳转到更新页面以更新数据。问题是更新后应该显示一些数据,但它是空白的。
<form id="form1" method="POST" action="scheduleUpdate.php" >
<select name=std1>
<option>AA</option>
<option>BB</option>
<option>CC</option>
</select>
<select name=std2>
<option>DD</option>
<option>EE</option>
<option>FF</option>
</select>
.......//more drop down menu but the name is std3..std4..etc...
.......
</form>
//$i is the value posted from my main app to tell me how many std we have
for($k=0;$k<$i;$k++){
$std=$_POST['std'.$k];
//if i remove the updateQuery, the html will output.I know the query is the problem but i //couldn't fix it..
$updateQuery=mysql_query("UPDATE board SET
student='$std'
WHERE badStudent='$std' or goodStudent='$std'",$connection);
//no output below this line at all
if($updateQuery){
DIE('mysql Error:'+mysql_error());
}
}
// I have bunch of HTML here....but no output at all!!!!
我点击提交后会更新MySQL,但它没有显示任何HTML。
答案 0 :(得分:3)
您的错误处理错误; $updateQuery
在成功时评估为true,因此您在成功而不是出错时终止程序。
答案 1 :(得分:3)
不应该:
if(!$updateQuery)
答案 2 :(得分:2)
正如其他人所说,它应该是if(!$updateQuery){
而不是if($updateQuery){
。我原本以为你会看到输出“mysql Error:”。
作为补充说明,请阅读SQL注入和清理用户输入,因为您似乎正在编写易受攻击的代码。
答案 3 :(得分:1)
如果查询失败:
,您不应该死if(!$updateQuery){
die('mysql Error:'+mysql_error());
}
答案 4 :(得分:1)
根据您的示例表单,您应该在k
循环中的1
处开始for
,而不是0
。
答案 5 :(得分:0)
如果你执行上面的代码,你会得到说“mysql Error:”的HTML输出,你的计数器变量k应该从一开始,因为第一个表单元素的名字是std1。