我收到了一个错误..我想这可能是因为这段代码:
$post = addslashes($post);
$r = $conn->query("select id from Posts where post='$post'");
if($id = $r->fetch_assoc()["id"]){
echo 'greg!!!<br>';
}
我只想回应'greg !!!'如果查询“从帖子中选择id,其中post ='$ post'”会返回任何内容。我发现有时它会起作用,有时它不会......所以不太确定。也许这是一个引用问题?...但我认为addslashes方法会处理那个
答案 0 :(得分:0)
$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
计算已返回的行数。
答案 1 :(得分:0)
如果是PDO,您可以使用rowCount()
,如果MySQLi可以使用num_rows
来检查是否有任何行返回。
// PDO
if($r->rowCount() > 0){echo "greg";}
// MySQLi
if($r->num_rows > 0){echo "greg";}