Php MySQL错误“查询为空”

Php MySQL错误“查询为空”,php,mysql,sql,cron,Php,Mysql,Sql,Cron,谢谢您的sprintf使用了两个值,但您只提供了一个。反正也不需要,那条线应该是 $send_event = $db->query(sprintf("SELECT `bmembMember` FROM `bmembBusiness` = '%u' WHERE `bmembBusiness` = '%u' ORDER BY `bmembId` DESC", $bs['busId'])) OR die('Cron not run') ; while($se=$db->fetch_row(

谢谢

您的sprintf使用了两个值,但您只提供了一个。反正也不需要,那条线应该是

$send_event = $db->query(sprintf("SELECT `bmembMember` FROM `bmembBusiness` = '%u' WHERE `bmembBusiness` = '%u' ORDER BY `bmembId` DESC", $bs['busId'])) OR die('Cron not run') ;
while($se=$db->fetch_row($send_event))
{
$text = "The {$bs['busName']} business went bankrupt\, all members have been made redundent." OR die('Cron not run');
修复应该修复查询的FROM子句

$send_event = $db->query(sprintf("SELECT `bmembMember` FROM `bmembBusiness` WHERE `bmembBusiness` = '%u' ORDER BY `bmembId` DESC", $bs['busId'])) OR die('Cron not run') ;

查询的高位区域是错误的

从bmembBusiness='%u'中选择bmembMember,其中bmembBusiness='%u'按bmembId DESC排序,$bs['busId']

请尝试此操作,它将修复查询:-

从表_name中选择bmemb成员,其中bmb业务类似于“%u” absbusId bmembId DESC的订单


使用准备好的语句和绑定变量是值得研究的,并且您还应该检查失败情况。如果使用sprintf的查询失败,那么$send\u事件可能为false,根本无法保护您的数据库不受SQL注入的影响。查看NigelRen提到的内容。一个不需要的是稍微不准确的-它根本不应该存在,因为您不能使用FROM table='something',它只是来自table。'稍微不准确'!!感谢您的回复,当我使用时,我收到了500个服务器错误,当我这样做时$send_event=$db->querysprintfSELECT bmembmemb member FROM WHERE bmemb business='%u'ORDER BY bmembId DESC,$bs['busId']或die'Cron not run';然后我得到…….查询错误:您的SQL语法有错误;检查对应于您的MySQL服务器版本的使用正确的语法的手册,使用BMEBIDBEASE=3’在BLMEBEDE 1行查询附近使用BMeBubEnter,BMMEBID从BMEMB业务=“3”订单中删除表中的表名。更改查询的逻辑。%存在的原因不是SQL,而是sprintf
 ...FROM `bmembBusiness` WHERE...