可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
//错误在第13行
$questions =$_POST['question_text'];
$checkquestion=mysql_query("SELECT question_text FROM questions LIKE '$questions' ");
if(mysql_num_rows($checkquestion)) { //line 13
echo "Question exist.";
}
else{
mysql_query("INSERT INTO questions (question_text,field_name)
VALUES ('$_POST[question_text]','$first_word')");
echo "Question saved";
}
答案 0 :(得分:2)
$checkquestion = mysql_query("SELECT question_text FROM questions LIKE '$questions' ");
if (!$checkquestion) {
die(mysql_error());
}
下一步:修复您的SQL查询。
您必须始终检查查询是否成功。它有一百万种可能出错,如果你的应用程序只是继续前进,假设它成功了你a)会以你的方式得到无关的错误,b)将无法有意义地调试你自己的应用程序。
正如@alex指出的那样,你应该在最终版本中做一些比这更优雅的错误处理。
答案 1 :(得分:1)
mysql_query
将返回false。您需要在致电mysql_num_rows
之前检查一下。
在一个不相关的说明中,你真的不应该在不使用mysql_real_escape_string
的情况下将post变量直接放入查询中,或者让你自己开放SQL注入。
答案 2 :(得分:0)
$questions = $_POST['question_text'];
$checkquestion = mysql_query("SELECT question_text FROM questions LIKE '". $questions ."' ");
if(mysql_num_rows($checkquestion)) { //line 13
echo "Question exist.";
}
else{
mysql_query("INSERT INTO questions (question_text, field_name) VALUES ('". $_POST[question_text] ."','". $first_word ."')");
echo "Question saved";
}