PHP/MySQL-使用SELECT时出错,但没有匹配的数据
我想得到一个图像的ID,它是boostAmount boostStart>total。当前,如果存在合适的图像,它将正常工作。然而,如果没有适当的证据表明我得到了这个错误 无效查询:SQL语法中有错误;检查与MySQL服务器版本对应的手册,以了解第1行“ORDER BY RAND()LIMIT 1”附近使用的正确语法 如果你的情况不好 为什么在您的if护发素代码中使用PHP/MySQL-使用SELECT时出错,但没有匹配的数据,php,mysql,Php,Mysql,我想得到一个图像的ID,它是boostAmount boostStart>total。当前,如果存在合适的图像,它将正常工作。然而,如果没有适当的证据表明我得到了这个错误 无效查询:SQL语法中有错误;检查与MySQL服务器版本对应的手册,以了解第1行“ORDER BY RAND()LIMIT 1”附近使用的正确语法 如果你的情况不好 为什么在您的if护发素代码中使用$photoguess if(mysql_num_rows($getphotoToGuess ) > 0){ //
$photoguess
if(mysql_num_rows($getphotoToGuess ) > 0){
// do something
}
试试这个,我删除了模具条件,你们可以使用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
}
您可以在before ORDER BY中引用此缺少一个
)
您的查询语法是正确的…您需要调试代码并更新完整的堆栈跟踪…即使我删除ORDER BY RAND()LIMIT 1,它也会显示相同的错误。这对我来说真的很奇怪。改变你的想法!=将此用作更改您的配置的参考!=to没有帮助:(但我知道这是错误的,如果有结果显示,则此条件有效。错误是当数据库中没有匹配的结果时。(boostAmount!=0)和((boostAmount boostStart)>total)和(auth=2或auth=5或auth=7)您想使用此语句检查什么?您的语句有问题,请再次检查,显然您错过了上述查询中的一个结束括号。您的查询不起作用,因为在where条件下,它将得到错误的值,即1或0,因此您的条件是这样工作的“从where photos 0 ORDER BY RAND()LIMIT 1”@user2203466开始逐个删除条件,并检查哪个条件出现问题。((boostAmount boostStart)>total)给出问题。
$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
}