2017-07-28 148 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每行只是一些等 –