您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过PHP数组插入多行到MySQL

通过PHP数组插入多行到MySQL

INSERTMysqL中,用多行汇编一条语句要比INSERT每行一条语句快得多。

也就是说,听起来您可能会遇到PHP中的字符串处理问题,这实际上是算法问题,而不是语言问题。基本上,当使用大字符串时,您希望最大程度地减少不必要的复制。首先,这意味着您要避免串联。构建大型字符串(例如一次插入数百行)的最快,最节省内存的方法是利用implode()函数和数组分配。

$sql = array(); 
foreach( $data as $row ) {
    $sql[] = '("'.MysqL_real_escape_string($row['text']).'", '.$row['category_id'].')';
}
MysqL_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));

这种方法的优点是,您无需复制和重新复制到目前为止已与每个串联组合的sql语句。相反,PHP 在语句中执行 一次implode()。这是一个巨大的 胜利。

如果您有很多列要放在一起,并且一个或多个列很长,则还可以构建一个内部循环以执行相同的操作,并使用implode()将values子句分配给外部数组。

php 2022/1/1 18:14:35 有329人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶