PHP mysql infile无法正常工作

时间:2017-01-12 03:47:55

标签: php mysql

以下是我的程序应该将文本文件上传到我的数据库中。我试图上传到数据库的文件大约是308MB。当我尝试运行这个程序时,它似乎完全运行,但当我查看数据库时,我没有看到任何添加的内容。所以我在$ db->中添加了东西,看看它会给出什么错误,并确保它连接到数据库。

<?php

set_time_limit(0); // unlimited max execution time


$username = "root";
$auth = 'i-have-removed-it';
$db = $db = new mysqli("localhost", $username, $auth, 'testdb');
if(mysqli_connect_errno())
{
    die("Connection could not be established");
}



print_r([
    "db->connect_errno1"        => $db->connect_errno,
    "db->connect_error1"        => $db->connect_error,
    "db->errno1"                => $db->errno,
    "db->error1"                => $db->error,
    "db->sqlstate1"            => $db->sqlstate,
    "db->info1"                => $db->info,
    "db->get_warnings1"        => $db->get_warnings(),
]);
$file = "./datafile_worldmap.txt";

$query = "load data infile '$file'
into table `World_Map`
character set ascii
fields terminated by '|'
lines terminated by '\r\n'
ignore 1 lines

(`GeoID`, `X`, `Y`, `Wood`, `Clay`, `Iron`, `Stone`, `Food`, `TerrainSpecificTypeID`, `TerrainCombatTypeID`, `RegionID`)
";

$result = $db->query($query);
print_r([
    "db->connect_errno2"        => $db->connect_errno,
    "db->connect_error2"        => $db->connect_error,
    "db->errno2"                => $db->errno,
    "db->error2"                => $db->error,
    "db->sqlstate2"            => $db->sqlstate,
    "db->info2"                => $db->info,
    "db->get_warnings2"        => $db->get_warnings(),
]);

$total_num_rows = $result->num_rows;

echo "The Results Are : <br>";

?>

输出

Array
(
    [db->connect_errno1] => 0
    [db->connect_error1] =>
    [db->errno1] => 0
    [db->error1] =>
    [db->sqlstate1] => 00000
    [db->info1] =>
    [db->get_warnings1] =>
)
Array
(
    [db->connect_errno2] => 0
    [db->connect_error2] =>
    [db->errno2] => 1045
    [db->error2] => Access denied for user 'User'@'%%%.%%%.%%%.%%%' (using password: YES)
    [db->sqlstate2] => 28000
    [db->info2] =>
    [db->get_warnings2] =>
)

新闻错误

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
 <<email>> and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
<p>Additionally, a 500 Internal Server Error
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>

2 个答案:

答案 0 :(得分:1)

LOCAL添加到您的对帐单

使用此LOAD DATA LOCAL INFILE代替load data infile

答案 1 :(得分:0)

您需要增加文件上传大小。默认文件上传大小为2MB 以下是需要更改的变量:

memory_limit = 500M
upload_max_filesize = 200M // 200MB file size
post_max_size = 500M  // increase your post limit to 500 MB

使用此功能,您可以上传最大尺寸为200MB的文件