我遇到了一个错误..我想这可能是因为这段代码:
$post = addslashes($post);
$r = $conn->query("select id from Posts where post='$post'");
if($id = $r->fetch_assoc()["id"]){
echo 'greg!!!<br>';
}
我只是想回应“格雷格!!!”如果查询“select id from Posts where post='$post'”返回任何内容。我发现有时这行得通,有时却行不通……所以不太确定。也许这是引号问题?......但我认为 addslashes 方法会解决这个问题
最佳答案
$r->fetch_assoc()["id"]
我认为这行不通,因为 $r->fetch_assoc()
还不是一个数组。它应该是这样的:
$post = addslashes($post);
$r = $conn->query("select id from Posts where post='$post'");
$fetch = $r->fetch_assoc();
if($id = $fetch["id"]){
echo 'greg!!!<br>';
}
如果 SQL 查询返回任何内容,它将进入 if
。你总是可以用 f.ex 检查你的数组:
print_r($fetch);
或者使用$r->num_rows
来计算返回了多少行。
关于mysql查询结果的php if语句(检查查询是否返回任何内容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40373001/