微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 将csv文件中的值插入MySQL表

我正在尝试将从csv文件提取的值插入到mysql表中.它运行但表没有填充.我已经尝试调试最后的XXXX,但只是看不到我的错误.回显这些值会给我正确的sql但是当涉及INSERT时 – 没有骰子.

非常感谢您的帮助.

<?PHP 

$host = 'localhost';
$user = 'fulltime_admin';
$pass = 'secret';
$database = 'fulltime_db';

$db = MysqL_connect($host, $user, $pass);
MysqL_query($database, $db);

//////////////////////////////// EDIT //////////////////////////////////// 

$redirect_num = 500;   // Select how many rows to insert each time before refresh. 
// More rows = faster insertion. However cannot be too high otherwise it will timeout. 

$filename = "ps4_emails.csv"; // The file we are going to get the data from... 

$table = "`ps4_emails`"; 

////////////////////////////// END EDIT ////////////////////////////////// 

$file = file($filename); 
$lines = count($file); 

// Have we just redirected? 
$nextline = $_GET['nextline']; 
if (!isset($nextline)){ 
    $nextline = 0; 
} 

$query = "INSERT INTO ".$table." (email) VALUES ('".$final_line[0]."')";

for ($line=$nextline; $line<=$lines; $line++){ 

    $final_line = explode(",", $file[$line]); 

    if ($line!=$lines){ 
        MysqL_query($query,$db); 

    } 

    if ($line % $redirect_num){ 

        // something needs to go here
    } else { 
        $nextline = $line+1; 
        exit ('<Meta http-equiv="refresh" content="0;url=texttoMysqLemails.PHP?nextline='.$nextline.'" />'); 
    } 

    echo  ( $line==$lines ) ? "Done" : ""; 

} 
?>

解决方法:

将您的查询放在循环中,以便使用变量$final_line.

试试这个 :

$final_line = explode(",", $file[$line]); 

if ($line!=$lines){ 
   $query = "INSERT INTO ".$table." (email) VALUES ('".$final_line[0]."')";
    MysqL_query($query,$db); 
} 

不要使用MysqL_ *.它已被弃用并从PHP 7中删除.使用MysqLi_ *或PDO.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐