簡體   English   中英

PHP准備好的語句返回錯誤的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM