【发布时间】:2019-08-27 19:05:44
【问题描述】:
基于 '"' 或其他原因的查询失败?
我尝试使用'"'或'\"'或'\"'
MySQL 代码:
SELECT Name, Address, City FROM PERSONAL WHERE Name LIKE "A%" INTO OUTFILE '/tmp/output.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
当上面的 SQL 语句在 MySQL 命令行中工作时。然后我尝试像下面这样转换成 PHP 编码:
$filepath="/tmp/output.csv";
$query = "SELECT Name, Address, City FROM PERSONAL_DATA WHERE Name LIKE "A%" INTO OUTFILE '$filepath' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n'";
$result=mysqli_query($connection,$query) or die (mysqli_error());
在我看来,我对引用有疑问。
当我使用OPTIONALLY ENCLOSED BY '"'
我试过OPTIONALLY ENCLOSED BY '\"' 或'\\"'
查询测试失败。 PHP 页面返回空,有时会在日志中出现解析错误。
【问题讨论】:
-
为了澄清我发布此内容时的可读性问题:'"' 这由单引号、双引号和单引号组成。
-
您还需要转义
"%A"周围的引号。试试$query = "SELECT Name, Address, City FROM PERSONAL_DATA WHERE Name LIKE \"A%\" INTO OUTFILE '$filepath' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'"; -
而错误信息是...?