Php MySQL插入查询失败,数据太多
我尝试使用以下基本代码将大量数据插入MySQL数据库:Php MySQL插入查询失败,数据太多,php,mysql,Php,Mysql,我尝试使用以下基本代码将大量数据插入MySQL数据库: $query = "INSERT INTO PublicNoticesTable (url, county, paperco, date, notice, id) VALUES " . $queryString; $result = mysqli_query($connect, $query); $queryString是预先生成的,包含以下格式的数千行信息: ('a','b','c'),('a','b','c') 这样,我可以在一个my
$query = "INSERT INTO PublicNoticesTable (url, county, paperco, date, notice, id) VALUES " . $queryString;
$result = mysqli_query($connect, $query);
$queryString
是预先生成的,包含以下格式的数千行信息:
('a','b','c'),('a','b','c')代码>
这样,我可以在一个mysql调用中插入多行数据,并减少处理时间。我有能力限制进入$queryString
的信息量,当信息量较少时,查询成功。耶!当我输入的信息太多时,查询就会失败。如果有人能为我提供解决方案,我将不胜感激。我用的是GoDaddy和PHPMyAdmin,如果这很重要的话
谢谢大家! 如果您试图使用insert插入值。。。值
pattern那么您就有了max\u allowed\u packet
的限制。当我输入了太多的信息时,查询失败了,那么为什么不现在调试mysqli\u error($connect)
来自文档:
要优化插入速度,请将许多小操作组合到单个
大手术。理想情况下,您只需建立一个连接,即可发送数据
一次更新多个新行,并延迟所有索引更新和一致性
检查到底
MySQL客户端或mysqld服务器接收到大于max\u allowed\u packet
字节的数据包,它发出数据包过大错误并关闭连接
尝试查看数据包的最大大小
show variables like 'max_allowed_packet';
默认情况下,SQL长度受1M限制,您可以更改
max_allowed_packet
参数支持更大的单次插入
如果您正试图使用insert插入值。。。值
pattern那么您就有了max\u allowed\u packet
的限制。当我输入了太多的信息时,查询失败了,那么为什么不现在调试mysqli\u error($connect)
来自文档:
要优化插入速度,请将许多小操作组合到单个
大手术。理想情况下,您只需建立一个连接,即可发送数据
一次更新多个新行,并延迟所有索引更新和一致性
检查到底
MySQL客户端或mysqld服务器接收到大于max\u allowed\u packet
字节的数据包,它发出数据包过大错误并关闭连接
尝试查看数据包的最大大小
show variables like 'max_allowed_packet';
默认情况下,SQL长度受1M限制,您可以更改
max_allowed_packet
参数支持更大的单次插入
您可以确保列的最大长度足以合并数据。如果数据很长(每列超过10000个字符),可以尝试使用blob 您可以确保列的最大长度足以合并数据。如果数据很长(每列超过10000个字符),可以尝试使用blob 当查询失败时,会出现什么错误?请显示失败的查询并显示错误消息,以便调试是否没有错误消息?如果有,我不知道如何检索它。我所知道的是,$result
返回的结果至少是错误的,因为我们无法理解您所说的太多信息意味着什么。。我的意思是,只是一个带有硬编码值的示例查询如果返回false,那么您需要在查询中使用mysqli\u error($connect)
,看看这是否会产生任何结果。当查询失败时,您会得到什么错误?请显示失败的查询,并显示错误消息以调试是否没有错误消息?如果有,我不知道如何检索它。我所知道的是,$result
返回的结果至少是错误的,因为我们无法理解您所说的太多信息意味着什么。。我的意思是一个带有硬编码值的示例查询如果返回false,那么您需要在查询中使用mysqli\u error($connect)
,看看这是否会产生任何结果。我将如何定位此“最大允许数据包”值?@Pixelknight1398请参见此处,我将如何定位此“最大允许数据包”值?@Pixelknight1398请参见此处和