給「未定義的變量」的錯誤,我抓住從下面的SQL語句計數統計($hits
):使用或在SQL語句在PHP
SELECT COUNT(*) AS hits FROM users
WHERE password = :password
AND username = :username
拼搶變量在while()
循環在這裏工作正常,它不是,直到我嘗試這個辦法:
SELECT COUNT(*) AS hits FROM users
WHERE password = :password
AND (username = :username OR email = :username)
當我嘗試拉,我得到一個「undifined變量」錯誤「打」作爲$hits = $row['hits'];
我想我們呃能夠使用用戶名或電子郵件地址登錄。誰能告訴我爲什麼第一個SQL語句工作正常,但第二個不?
我的PHP如下:
// COUNT HITS
$COUNT_HITS = $DBH->prepare("SELECT COUNT(*) AS hits FROM users WHERE password = :password AND (username = :username OR email = :username)");
$COUNT_HITS->bindParam(':password', $password);
$COUNT_HITS->bindParam(':username', $username);
$COUNT_HITS->execute();
while($row = $COUNT_HITS->fetch(PDO::FETCH_ASSOC)){
$hits= $row['hits'];
}
是行定義的嗎? – 2014-10-03 16:01:00
我已經嘗試了SQL Server Management Studio 2012中的第二條語句並替換了變量,它會爲'hits'返回一個值。 PHP不喜歡在第二個語句中使用':username'嗎? – proPhet 2014-10-03 16:01:49
你可能需要綁定兩次 - 請分享你的php。 – 2014-10-03 16:02:33