正确转义/格式化 MySQL 查询


Properly escaping / formatting a MySQL query

$query = "  SELECT *
            FROM Catalog
            INTO OUTFILE './catalog.csv'
            OPTIONALLY ENCLOSED BY ''"'
            FIELDS TERMINATED BY ','
            LINES TERMINATED BY ''r'n'";

我得到的错误是OPTIONALLY ENCLOSED BY ''"'有问题

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 'OPTIONALLY ENCLOSED BY '"'

在过去的一个小时里,我尝试了许多不同的变体,例如在查询周围使用单引号,然后修改查询中的转义/引号,但我无法想出正确的格式。

需要将FIELDS TERMINATED BY ','部分放在OPTIONALLY ENCLOSED BY ''"'之前。

$query = "  SELECT *
            FROM Catalog
            INTO OUTFILE './catalog.csv'
            FIELDS TERMINATED BY ','
            OPTIONALLY ENCLOSED BY ''"'
            LINES TERMINATED BY ''r'n'";

您的查询不正确。它应该是:

 "SELECT *
        FROM Catalog
        INTO OUTFILE '.'/catalog.csv'
         FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ''"'           
        LINES TERMINATED BY ''r'n'";