有效查询上的PHP sql错误

有效查询上的PHP sql错误,php,mysql,Php,Mysql,我有一些PHP可以生成查询。我在注销最后一个查询时出错,如果我将其从错误日志中复制出来并直接在HeidiSQL中运行,那么它运行起来就没有问题。但是,当我试图通过PHP数据库调用运行if时(在其他部分使用其他查询),我得到了一个错误。数据库已连接,并在代码中进一步设置,在同一函数中较早运行的select查询工作正常。有什么想法吗 以下是生成的查询: update exp_qo5_configs set value = '1' where name = 'homepage_heroes_num';

我有一些PHP可以生成查询。我在注销最后一个查询时出错,如果我将其从错误日志中复制出来并直接在HeidiSQL中运行,那么它运行起来就没有问题。但是,当我试图通过PHP数据库调用运行if时(在其他部分使用其他查询),我得到了一个错误。数据库已连接,并在代码中进一步设置,在同一函数中较早运行的select查询工作正常。有什么想法吗

以下是生成的查询:

update exp_qo5_configs set value = '1' where name = 'homepage_heroes_num'; update exp_qo5_configs set value = '4' where name = 'homepage_deals_num'; update exp_qo5_configs set value = '1' where name = 'homepage_wide_banner_num'; update exp_qo5_configs set value = '2' where name = 'homepage_narrow_banner_num'; update exp_qo5_configs set value = '6' where name = 'homepage_menu_num'; 
下面是错误:

[“错误号:1064”,“您的SQL语法有错误;请检查 与右边的MySQL服务器版本相对应的手册 要在“update exp\u qo5\u configs set value='4'附近使用的语法,其中name ='homepage\u deals\u num';update'在第1行,“'SQLQUERY:updateexp\u qo5\u configs set value='1',其中name='homepage\u heromes\u num'; 更新exp_qo5_配置设置值='4',其中名称= “homepage_deals_num”;更新exp_qo5_配置设置值=“1”,其中 名称='homepage\u wide\u banner\u num';更新exp\u qo5\u配置设置值= “2”其中名称=“主页\u窄幅\u横幅\u数量”;更新exp\u qo5\u配置 设置值='6',其中名称='homepage_menu_num';]

用完整的代码编辑


因为您有多个sql查询,所以必须使用mysqli\u multi\u query()或multi\u query()方法。 比如说

mysqli_multi_query($Your_database_connection_variable,'Your_sql');


默认情况下,不能在单个语句字符串中运行多个语句。
但是,最好不要这样做,因为这样会使您面临非常糟糕的、可能是灾难性的漏洞。

您试图运行多查询,因此看起来是的,您通常必须启用多查询,但出于安全原因,它被禁用。如果您确实想合并查询,您可以进行组合查询使用case进行查询,或者将设置公共值的查询与ORs组合,或者单独调用它们。我不确定我是否理解这个问题。我们的数据库显然允许多个查询,因为我可以在客户机中运行它。这是PHP中我不知道的事情吗?您只向我们展示了生成的查询和错误,而没有展示我们使用的代码你标记为php,但没有支持它的代码。这是一个配置屏幕;没有通用值(或者可能有,但我们不知道)我们正试图避免进行多个数据库调用,因为它们很昂贵。这是一个非常糟糕的建议。不要使用
mysqli\u multi\u query
。使用MySQL最接近于打开地狱之门。你会失去所有占位符支持,并假设每个查询都成功,盲目地转到下一个查询。
mysqli_multi_query($Your_database_connection_variable,'Your_sql');
$Your_database_connection_variable->multi_query('Your_sql');