我有以下准备语句的代码
// Get the data about the file
$stmt = $mysqli->prepare("SELECT * FROM file WHERE generated_name = ?");
$stmt->bind_param('s', $generated_name);
$stmt->execute();
if($stmt->num_rows == 0) return 'Error';
上面的代码不工作,它总是返回一个错误,即使它不应该 affected_rows 也奇怪地返回 -1。但是,如果我离开准备好的方法并进行普通查询..它会完美地工作
// Get the data about the file
$result = $mysqli->query("SELECT * FROM file WHERE generated_name = '$generated_name'");
if($result->num_rows == 0) return 'Error';
此代码运行完美,不会返回错误。我不知道出了什么问题。你能找出错误吗?
最佳答案
执行后可以使用store_result
$stmt->store_result();
$rows= $stmt->num_rows;
if($rows > 0)...
关于php - 查询正常工作但在准备好的语句中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24581738/