2

可能重复:
Mysql 一次不能执行超过 1 个查询

        $query = "TRUNCATE TABLE nw_world;";
        $query = $query . " INSERT INTO `nw_world`";
        $query = $query . " SELECT * FROM `x_world` WHERE x <0 AND y >=0";
        $query = $query . " AND tid !=5 AND aid NOT IN ( 29, 908, 935, 941, 950 )";
        $query = $query . " AND population <=50";

        echo "$query";
        mysql_query($query,$con) or die("error ".mysql_error());

这会导致错误

error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO `nw_world` SELECT * FROM `x_world` WHERE x <0 AND y >=0 AND tid !=5 ' at line 1

但是当我在 mysql 中执行相同的查询时,它工作正常。因此,我有一种感觉,我在 php 编码中犯了一些错误。请帮忙

4

2 回答 2

3

mysql_query不允许您执行超过 1 个查询。使用mysqli::multi_query 或单独执行每个命令。

于 2012-08-29T16:35:58.020 回答
3

默认情况下,PHP 每次调用 mysql_query 只会执行 1 个查询(安全措施)。

如果您想一次执行多个,请查看http://se2.php.net/manual/en/mysqli.multi-query.php

于 2012-08-29T16:36:28.517 回答