2013-07-15 62 views
-2

我試圖使用PHP腳本將條目從文本文件添加到數據庫表中。該文本文件包含2000行,我希望每行都是數據庫表中的一個條目。這是我的代碼。它運行良好,但沒有添加到表中。從文件中向數據庫表添加條目

<?php 

$link = new mysqli('xxx.xxx.xxx.xx', 'xxxxxx', 'xxxxxxxx', 'xxxxxxxxxxx'); 
if ($link->connect_errno) { 
    die('Failed to connect to MySQL: (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); 
} 
$filename = 'serials.txt'; 
$file = file($filename); 
foreach($file as $line) { 
    $result = $link->query("INSERT INTO mytable SET serial=$line"); 
} 
?> 
+0

爲什麼不使用LOAD DATA? – Strawberry

+0

我從來沒有聽說過它,不知道如何使用它 –

+0

所以,現在是一個學習的好時機,你不覺得嗎? – Strawberry

回答

2
  1. 打印錯誤的消息
  2. escape數據
<?php 

$link = new mysqli('xxx.xxx.xxx.xx', 'xxxxxx', 'xxxxxxxx', 'xxxxxxxxxxx'); 
if ($link->connect_errno) { 
    die('Failed to connect to MySQL: (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); 
} 
$filename = 'serials.txt'; 
$file = file($filename); 
foreach($file as $line) { 
    $result = $link->query("INSERT INTO mytable SET serial='" 
      .$link->real_escape_string($line)."'"); 
    if($link->errno) echo($link->errno.": ".$link->error); 
} 
?>