2015-11-05 69 views
0

我遇到問題。我試圖找出用戶的電子郵件是否已經存在於數據庫中,這裏是我的查詢:num_rows與SELECT查詢中的返回行相關

$stmt1 = "select EmailAddress from customers where EmailAddress = ' .$emailaddress. '"; 
$result = $db->query($stmt1); 
if($result->num_rows === 0){ 

    $Err = ""; 

} else { 

    $Err = 'This user is already registered login instead.'; 

} 

我在做什麼錯?我似乎無法獲得num_rows來返回我可以使用的東西。如果沒有記錄被找到,或者有記錄時行數不應該這個查詢返回0嗎?

+1

你並不需要在查詢級聯。在$ emailaddress之前和之後刪除'.'。 –

+0

'where EmailAddress ='。$ emailaddress。 '';'--- http://php.net/manual/en/mysqli.error.php –

+1

嘗試使用'=='檢查,而不是'==='。 –

回答

0

用途:

$stmt1 = "SELECT EmailAddress FROM customers WHERE EmailAddress = '".$emailaddress."'"; 
+0

爲什麼*使用:* ?. ................ –

+0

==和===有什麼區別? –

+0

如果'$ result-> num_rows'返回字符串(不是這種情況): ''0'== 0'檢查將是錯誤的,而'0 == 0'是真的。這不是很重要,但根據我看來它看起來更乾淨。 –