您的位置 首页 MySql

php – 特殊字符无法插入数据库

我是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);

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章