2

重複の可能性:
Mysql は一度に複数のクエリを実行できません

        $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複数のクエリを実行することはできません。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 に答える