给“未定义的变量”的错误,我抓住从下面的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