PHP / MySQL - 使用SELECT但没有匹配数据时出错

时间:2016-06-22 06:44:46

标签: php mysql

我想获取一张图片的ID,即boostAmount-boostStart> total。目前,如果存在适当的图像,则可以使用。但是,如果没有任何适当的显示我会收到此错误。

  

查询无效:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行的“ORDER BY RAND()LIMIT 1”附近使用正确的语法

$photoToGuess = mysql_query("SELECT photoID,id,total,boostStart,boostAmount,auth,photoUploadDate FROM photos WHERE (boostAmount !=0) AND ((boostAmount-boostStart)>total) AND (auth=2 OR auth=5 OR auth=7) ORDER BY RAND() LIMIT 1") or die("Invalid query: " . mysql_error());
$getphotoToGuess = mysql_fetch_array($photoToGuess);

    //Yes
    if(mysql_num_rows($photoToGuess) > 0)
    {
    //do something
    }

2 个答案:

答案 0 :(得分:2)

试试这个,我删除了死亡状态,你可以使用if语句来达到死亡条件......它的工作效果很好。

$photoToGuess = mysql_query("SELECT photoID,id,total,boostStart,boostAmount,auth,photoUploadDate FROM photos WHERE (boostAmount !=0) AND ((boostAmount-boostStart)>total) AND (auth=2 OR auth=5 OR auth=7) ORDER BY RAND() LIMIT 1");
$getphotoToGuess = mysql_fetch_array($photoToGuess);

//Yes
    if(mysql_num_rows($photoToGuess) > 0)
    {
    //do something
    }

您可以参考此http://php.net/manual/en/function.mysql-query.php

答案 1 :(得分:1)

你的条件错了     你为什么在这里的if conditioner代码中使用GROUP BY

$photoToGuess