在mysql_query之后,没有结果输出

时间:2010-05-27 19:06:52

标签: php mysql forms select

我有一个简单的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>

scheduleUpdate.php

//$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。

6 个答案:

答案 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。