2017-07-28 149 views
0

我有一個包含50000行的文件。我做了一個代碼,但它跳過了很多行和頁面。當我進入phpmyadmin看看我有這樣的1-10,然後它開始跳過23-34 78 102 345 546等。我想我有一些與執行。MySQL插入數據不起作用

$contents = file_get_contents("testinsert.txt"); 
$data = explode(PHP_EOL, $contents); 


$query = "INSERT INTO table (`name`) VALUES (?)"; 

$zz = $conn->prepare($query); 

$zz ->bind_param("i", $bb); 

$conn->query("START TRANSACTION"); 
foreach ($data as $bb) { 
    $zz->execute();` 
} 

$zz->close(); 
$conn->query("COMMIT"); 
+0

phpMyAdmin是用PHP編寫的工具,而不是可以在其中插入數據 – RiggsFolly

+2

一個數據庫是反引號真的你的代碼,'$ zz-> execute();'' – RiggsFolly

+1

我知道,它只是解釋大聲笑數據是worng phpmyadmin –

回答

1

我很驚訝這個代碼做任何事情:我希望$zz ->bind_param("i", $bb);是在foreach循環。 此外,它可能必須要閱讀:

foreach ($data as $bb) { 
    $zz ->bind_param("s", $bb); 
    $zz->execute(); 
} 

(注意s字符串數據)

+0

您可以在循環外面調用'bind_param',因爲@OP確實是 – RamRaider

+0

@RamRaider這隻會綁定一次,然後在一個沒有初始化的變量(除非PHP有超出範圍變量的看不見的優化?) –

+0

是的大聲笑問題是它不是isert每行只是一些等 –