我正在将数据txt文件插入到我的MySQL数据库中。有100-400字的文件插入太棒了。他们没问题。但是今天我得到了一个带有9k字的文件,我的脚本停止了工作。它插入或更新什么。我的脚本有问题吗,还是应该制作这个文件的一部分?什么是更好的解决方案?无法插入9k字到mysql数据库
这里是我的代码:
//$arr - array from file;
foreach ($arr as $temp)
{
$w_name = mysqli_real_escape_string($db_connect, $temp[0]);
$w_minprice = $temp[2];
$w_js_id = $temp[1];
$w_s = $temp[3];
$sql ="SELECT `js_id` FROM `mytable` WHERE `js_id` = '$w_js_id' LIMIT 1";
$result = mysqli_query($db_connect, $sql) or die(mysql_error());
list($temp2) = mysqli_fetch_row($result);
if ($temp2 == '')
{
$sql = "INSERT INTO `mytable` (`name`, `minprice`, `s`, `js_id`, `pl`) VALUES ('$w_name', '$w_minprice', '$w_s', '$w_js_id', '$pl')";
$result = mysqli_query($db_connect, $sql) or die(mysql_error());
if ($result) {$added++;}
}
else
{
$sql = "UPDATE `mytable` SET `minprice` = '$w_minprice', `s` = '$g_s' WHERE `js_id` = '$w_js_id' LIMIT 1";
$result = mysqli_query($db_connect, $sql) or die(mysql_error());
if ($result) {$updated++;}
}
}
也许我应该做多个查询?或将我的查询分为10?但是如何?我在MySQL查询方面不够强大。 我的目标是将一个有9 000个值的数组插入到我的数据库中。
UPDATE:I added this lines: ini_set('memory_limit','-1'); ini_set('max_execution_time','-1'); 加入我的mysql: max_allowed_packet = 32M;
它解决了我的脚本问题!
什么是列中的数据类型? –
我怀疑你超出了列的数据类型所允许的长度。 – Alfie
如果它的'TEXT'然后使用'LONGTEXT' –