2012-10-26 136 views
0

對於用戶註冊,我想確保用戶名和電子郵件尚未使用。我已經連接到代碼中其他地方的$ mysqli。PHP MySQLi準備好的語句 - 檢查是否已經存在

$usr = $mysqli->real_escape_string($_POST['susername']); 
$eml = $mysqli->real_escape_string($_POST['semail']); 

$stmt = $mysqli->prepare("SELECT userid FROM users WHERE username=? || email=?"); 
$stmt->bind_param("is", $usr, $eml); 
$stmt->execute(); 
$stmt->bind_result($count); 
$stmt->close(); 

但是,count不包含任何內容。如何檢查數據庫中是否存在某些內容?

回答

1

變化,

stmt = $mysqli->prepare("SELECT userid FROM users WHERE username=? || email=?"); 

stmt = $mysqli->prepare("SELECT count(userid) FROM users WHERE username=? || email=?"); 

那麼你應該使用取fetch()

+0

同樣的問題 - $ count是空的 – apscience

+0

'$ usr'和'$ eml'是什麼? – Deepak

+0

$ usr:testuser,$ eml:[email protected] - 這就是我回應它時得到的結果。已經有相同的用戶名和電子郵件記錄。 – apscience

0

您的用戶名是一個整數嗎?你可以試試下面的代碼,

$stmt->bind_param("ss", $usr, $eml); //ss

+0

是什麼意思SS的價值?用戶名是TEXT – apscience

相關問題