Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅在PHP中执行查询时发生SQL语法错误_Php_Mysql - Fatal编程技术网

仅在PHP中执行查询时发生SQL语法错误

仅在PHP中执行查询时发生SQL语法错误,php,mysql,Php,Mysql,我认为PHP有问题。我看到以下错误: 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第2行“选择@n:=@n+1作为计数、兴趣点、实体点、实体点”附近使用的正确语法 如果我在MySql中执行以下查询,它将成功执行并返回所需的结果。但是,当我使用PHP执行相同的查询时,不会发生这种情况 SET @n = 0 ; SELECT @n := @n + 1 as count , interests.id , entity.id ,

我认为PHP有问题。我看到以下错误:

您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第2行“选择@n:=@n+1作为计数、兴趣点、实体点、实体点”附近使用的正确语法

如果我在MySql中执行以下查询,它将成功执行并返回所需的结果。但是,当我使用PHP执行相同的查询时,不会发生这种情况

 SET @n = 0 ;
    SELECT @n := @n + 1   as count
      , interests.id
      , entity.id
      , entity.name
      , entity.entity_type
      , entity.city_country_province
      , entity.street_address
      , entity.user_id
      , entity.descript
      , entity.icon
      , city_country_province_type.city
      , city_country_province_type.province
      , city_country_province_type.country
      , entity.linkout
      , entity.map_lng
      , entity.map_lat              
    FROM interests INNER JOIN interest_entity ON interests.id = interest_entity.interet_id
    INNER JOIN entity ON interest_entity.entity_id = entity.id
    INNER JOIN city_country_province_type ON entity.city_country_province = city_country_province_type.id             
    WHERE ((interests.id)=9) 
    GROUP BY interests.id
      , entity.id
      , entity.name
      , entity.entity_type
      , entity.city_country_province
      , entity.street_address
      , entity.user_id
      , entity.descript
      , entity.icon
      , city_country_province_type.city
      , city_country_province_type.province
      , city_country_province_type.country
      , entity.linkout
      , entity.map_lng
      , entity.map_lat   
      HAVING count >= 10 AND count <= 20 order by entity.name desc

注意:我使用的web服务器不支持MySqli,因此我使用mysql\u查询函数。我怀疑这可能是问题的一部分。但是,我使用MySql WAMP执行本地主机测试,并收到相同的错误

不能在一个API调用中运行多个查询

简单的解决方案:使用多个API调用。一个用于设置@n=0,然后一个单独的API调用来执行SELECT查询。只要使用与MySQL相同的连接,@n的值在会话中保持活动状态


mysqli扩展确实支持,但我仍然建议一次执行一个查询。

请添加PHP,这只是SQL。我使用的web服务器不支持MySqli,那么为什么要标记MySqli呢?如果没有PHP,这个问题就无法回答。mysql扩展不允许多个查询。如果您的LIVE server只允许mysql,您将不得不为一台真正的服务器付费。向我们展示PHP代码,以便提供帮助