我想在检查user_name是否为空时遇到问题,然后它会回显YES。但现在我得到任何回声结果。我收到了:
错误:命令不同步;你现在不能运行这个命令{"成功":1}
if ($result = $mysqli->query("SELECT user_name FROM user WHERE user_id = '33'", MYSQLI_USE_RESULT)){
while ($row = mysql_fetch_array($result)) {
if($row['user_name']===' '){
echo "YES";
}
}
/* Note, that we can't execute any functions which interact with the
server until result set was closed. All calls will return an
'out of sync' error */
if (!$mysqli->query("SET @a:='this will not work'")) {
printf("Error: %s\n", $mysqli->error);
}
$result->close();
$json['success'] = 1;
}else{
$json['success'] = 7;
}
那么,我的问题是什么以及如何解决?我曾尝试在网上找到答案和解决方案,但都没有。 感谢您的指导和建议。
答案 0 :(得分:0)
while ($row = mysql_fetch_array($result)) {
if($row['user_name']===''){
echo "YES";
}
}
答案 1 :(得分:0)
试试这个:
if($row['user_name']===' ') to if(empty($row['user_name']));
答案 2 :(得分:0)
如果为空则使用empty()或strcmp()...否则如果null存储在数据库中则为is_null()
答案 3 :(得分:0)
您可以看到: 如果您使用MYSQLI_USE_RESULT,所有后续调用都会返回错误命令不同步,除非您调用mysqli_free_result()
所以,你要么使用
1)MYSQLI_STORE_RESULT
和mysqli_free_result()
2)mysql_query
//传统
3)再次建立连接(重新连接到db)