我是php新手.我试图读取文本文件并逐行插入数据库.我的问题是一些特殊的字符插入查询不起作用
例如Cte,d..,d.y.,DAB-sndare这些都在起作用.但不能插入代办.如果我删除了d affaires然后查询将执行否则它将不会向数据库插入任何数据.我用来reaf并插入数据库的php代码是
mysql_connect("localhost","root","");
mysql_select_db("testdb");
$query="INSERT INTO keywords (id,keyword) VALUES ";
$handle = fopen("Ordlista.txt","r");
if ($handle) {
$i=1;
while (($line = fgets($handle)) !== false) {
// process the line read.
// echo $line.'
更新
我在wordpress中创建插件时使用了此代码,然后特殊字符插入为“?”.在前面的代码中,我正在完成的代码更改是工作文件
mysql_query("TRUNCATE TABLE $table");
// $structure = "INSERT INTO $table (`id`,`keyword`) VALUES (NULL,'test1'),(NULL,'test2');"; // Keywords for Testing
// $wpdb->query($structure);
//read text file & insert to database start
$query="INSERT INTO $table (id,keyword) VALUES ";
$fllocation=PLG_URL.'/Ordlista.txt';
$handle = fopen($fllocation,"r");
if ($handle) {
$i=1;
while (($line = fgets($handle)) !== false) {
// process the line read.
if($i==1)
{
$query.=" ( NULL,'".mysql_real_escape_string($line)."') ";
$i++;
}
else {
$query.=",'".mysql_real_escape_string($line)."') ";
}
}
$query.=";";
$wpdb->query($query);
// echo $query;
// mysql_query($query);
} else {
echo 'error opening the file.';
// error opening the file.
}
fclose($handle);
最佳答案
试试mysql_real_escape_string();
mysql_connect("localhost",'".mysql_real_escape_string($line)."') ";
}
}
$query.=";";
// $qr=htmlspecialchars($query,ENT_QUOTES);
echo $query;
mysql_query($query);
} else {
echo 'error opening the file.';
// error opening the file.
}
fclose($handle);