[英]PHP Prepared statement returning wrong value
我試圖找出用戶是否已經存在於我的數據庫中,但是無論我嘗試什么,我總是會得到一個錯誤的結果。
$stmt = $connection->prepare("SELECT * FROM members WHERE member_username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
if($stmt->num_rows > 0) {
return 'user exists';
}
我知道這必須非常簡單...我顯然會忽略這些東西,但是即使用戶已經在數據庫中,我也總是得到num_rows = 0。
有人可以幫忙嗎?
在調用num_rows
之前,先調用get_result()
或store_result()
:
$stmt = $connection->prepare("SELECT * FROM members WHERE member_username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$res = $stmt->get_result(); //<--- HERE
if($res->num_rows > 0) { //<--- HERE
return 'user exists';
}
要么
$stmt->execute();
$stmt->store_result(); //<--- HERE
if($stmt->num_rows > 0) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.