我是mysql的新手并尝试了一些脚本。
我不明白的一件事是,为什么(似乎)mysql查询需要在php变量中。
例如,这不起作用:
$username="root";
$password="";
$database="wmt";
$con=mysqli_connect("localhost","root","","wmt");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else echo "correct";
mysqli_query($con,"LOAD DATA INFILE 'TOP_QUERIES-avtentichno.com-20140627-223259.csv'
INTO TABLE discounts
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS");
当简单地编写PHP并且我想输出一些HTML时,我就这样做:
<?php
code ();
...
?>
Here goes my HTML without worry about escaping!
<?php
morephp();
?>
是否有类似的&#34;技巧&#34;执行mysql并避免将我的sql查询放在变量中?
答案 0 :(得分:1)
字符串中的双引号需要进行转义,因为字符串文字用双引号括起来。
在字符串文字的上下文中,这个:
ENCLOSED BY '"'
应该替换为:
ENCLOSED BY '\"'
因此PHP没有看到双引号作为字符串文字的结尾。
这不是一个SQL问题;并且它不是变量的问题。这是PHP中字符串文字的问题。