我正在嘗試檢查一個值(email),以確定它是否已經存在於db中。這應該使用準備好的語句來完成。這樣做的最好方法是什麼?我的解決方案是這樣的(這是錯誤的):PHP準備好的語句 - 檢查一個值是否已經存在
$mysqli = connectToDB();
$getEmail = $mysqli->prepare('SELECT * FROM users WHERE email=?') or die('Couldn\'t check the email');
$getEmail->bind_param('s', $email);
$getEmail->execute();
$countRows = $getEmail->num_rows;
print $countRows;
它總是打印出0,即使電子郵件已存在數據庫。
你肯定在數據庫中的電子郵件中存在完全相同的大/小寫?嘗試使用不區分大小寫的比較:'WHERE lcase(email)= lcase(?)' –
是的,我確信這兩個都是小寫。儘管我嘗試瞭解決方案。它沒有工作:( – Langkiller