0
嘿,我正在學習一種查詢我的數據庫的新方法,因爲它意味着更好更安全,我構建了可以重用的準備好的語句。無法在mysql腳本中正確綁定參數
問題是這是一個不同的方式來看待它,我還沒有習慣它,仍然有一些事情,我不明白。
所以我的腳本試圖綁定三個章到一個查詢,以允許用戶登錄到我的網站。我像以前一樣現在用的是同一個腳本,該使用的用戶名和密碼......這只是正常:
$query = "SELECT *
FROM user
WHERE email = ? AND password = ?
LIMIT 1";
if($stmt = $this->conn->prepare($query))
{
$stmt->bind_param('ss', $un, $pwd);
$stmt->execute();
if($stmt->fetch())
{
//$uid = $stmt->fetch(id);
//$_SESSION['uid'] = $uid;
$stmt->close();
return true;
}
}
但是當我檢查,如果用戶是管理員我不喜歡它:
$query = "SELECT *
FROM user
WHERE email = ? AND password = ? AND isAdmin = ?
LIMIT 1";
if($stmt = $this->conn->prepare($query))
{
$stmt->bind_param('ssi', $un, $pwd, $isAdmin);
$stmt->execute();
if($stmt->fetch())
{
//$uid = $stmt->fetch(id);
//$_SESSION['uid'] = $uid;
$stmt->close();
return true;
}
}
而且我宣佈isAdmin作爲一家全球私人變種在類的開始,像這樣:
private $isAdmin = "1";
所以,是的,我知道,我測試的用戶有isActive 1數據庫中,但是當它確實進入這個腳本它retu rns假。
就像我說的,我是新來的這種寫作風格的查詢,所以任何幫助將是驚人的。
謝謝你的時間。
是否有任何警告或通知? – SergeS 2012-01-06 11:15:51
Nope ....那麼當我使用'1'而不是var $ isAdmin時,如果這有幫助嗎? – ragebunny 2012-01-06 11:23:37
也許,並且日誌形式SQL也可以幫到 – SergeS 2012-01-06 11:24:40