SQL语句不返回任何内容

时间:2012-02-24 23:35:34

标签: php mysql mysql-error-1064 mysql-management

我有一个表格,要求用户在继续进行之前要回答他们自己的安全问题。我的表格如下:

    <form action="securitychecked.php" method="post">

<table width="70%" border="0">
  <tr>
    <td><?php $result = mysql_query("SELECT secret_question FROM public WHERE active = 'activated' AND ni = '". $_SESSION['ni']."'")
or die(mysql_error()); 

if (mysql_num_rows($result) == 0) {
       echo '<hr><h4>This Person Has Not Setup A Security Question</h4><hr> ';
    } else {

while($info = mysql_fetch_array($result))
{

        echo  $info['secret_question'];

}
    }?></td>
    <td><span id="sprytextfield1">
      <input type="text" name="secret_answer" id="secret_answer" />
      <span class="textfieldRequiredMsg">*</span></span></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><br /><input name="" type="submit" value="Continue" /></td>
  </tr>
</table>
</form>

我的php代码如下所示:

    <?php

$secret_anwser=$_POST['secret_anwser'];

$secret_anwser = stripslashes($secret_anwser);
$secret_anwser = mysql_real_escape_string($secret_anwser);

$sql="SELECT secret_anwser FROM public WHERE secret_anwser ='$secret_anwser' AND active = 'activated' AND ni = '". $_SESSION['ni']."'";

$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);


if($count==1){
header("location:votenow.php");
}

?>

我有一个名为public的表和一个名为'secret_anwser'的字段,但即使输入正确的值,我仍然会获得一个空白页面。有谁可以帮助我?

感谢

1 个答案:

答案 0 :(得分:2)

我猜你PHP中的所有 secret_anwser 都是拼写错误。

至少字段名称是 secret_answer ,但是您尝试获取 $_POST['secret_anwser']; ,您将永远不会在数据库中找到任何内容。

DB和表的名称也可能是错误的。