繁体   English   中英

PHP / MYSQL-通过php变量与mysql查询相关的语法错误

[英]PHP/MYSQL - Syntax error relating to a mysql query through as php variable

我在以下变量中遇到语法错误的问题:

$uploadQuery = "
LOAD DATA LOCAL INFILE '".$docRoot."/../../includes/dbUploads/".$fileToUpload."' 
INTO TABLE `promotions` 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\r\n'  
";

我知道这与LOAD DATA ...行中的'字符的转义有关。 但是对于真正的问题是什么,或者如何以正确的方式重新编写此查询,我感到很困惑。

所以,我的问题是这样的:

我如何以正确的方式改写声明的变量,以确保没有与此相关的语法错误。

如果有人对此有任何建议或意见,将不胜感激。

谢谢!

缺少转义字符,这是正确的字符串:

$uploadQuery = "
LOAD DATA LOCAL INFILE '".$docRoot."/../../includes/dbUploads/".$fileToUpload."' 
INTO TABLE `promotions` 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '\"' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\\r\\n'  
";

请注意第5行上的\\ 它将"作为字符串终止符。另外一个问题(不会引起语法错误)在第7行,您需要转义反斜杠。

PS标记分析器甚至把它捡起来:P

编辑:您可能还需要将第7行更改为ESCAPED BY '\\\\\\\\'因为在PHP解析后,这会减少为ESCAPED BY '\\\\'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM