php - 使用 php 将多行插入 mysql 数据库的最佳方法是什么?

标签 php mysql

下面的 php 代码从一个表单中获取结果并将它们插入到一个表中。

我必须使用这种表结构,其中每一行都对应于表单中的不同值,例如名字。

我写了下面的代码,但是很麻烦。 你能帮我一个更好的方法吗?多谢!

$lists      = $_POST['form']['lists'][0];
$first_name = $_POST['form']['first_name'];
$last_name  = $_POST['form']['last_name'];
$idu        = $db->insertid();

$db->setQuery("INSERT INTO #__rsmail_subscriber_details (`IdList`, `FieldName`, 
`FieldValue`, `IdSubscriber`) VALUES ('" . $db->getEscaped($lists) . "', 'First Name'
, '" . $db->getEscaped($first_name) . "', '" . $db->getEscaped($idu) . "')");

$db->query();

$db->setQuery("INSERT INTO #__rsmail_subscriber_details (`IdList`, `FieldName`, 
`FieldValue`, `IdSubscriber`) VALUES ('" . $db->getEscaped($lists) . "', 'Last Name'
, '" . $db->getEscaped($last_name) . "', '" . $db->getEscaped($idu) . "')");

$db->query();

最佳答案

您可以执行批量插入:

INSERT INTO table (field1, field2) VALUES ('val1', 'val2'), ('val3', 'val4'), ...

在你的情况下是这样的:

$db->setQuery("INSERT INTO #__rsmail_subscriber_details (`IdList`, `FieldName`, 
`FieldValue`, `IdSubscriber`) VALUES ('".$db->getEscaped($lists)."', 'First Name'
, '".$db->getEscaped($first_name)."', '".$db->getEscaped($idu)."'), ('".$db->getEscaped($lists)."', 'Last Name'
, '".$db->getEscaped($last_name)."', '".$db->getEscaped($idu)."')");

关于php - 使用 php 将多行插入 mysql 数据库的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6591231/

相关文章:

php - laravel mongodb 嵌套集合关系

PHP:清除 cron 临时文件的好脚本?

php - 从两个相似的 MySQL 结果集创建数组时行为不一致

javascript - MD 数组 : Add additional array if value isn't found

php - 缓存index.php页面的搜索引擎有siteController但在yii PHP中没有模型

php - 在 DB 中的值之间进行 SQL 搜索(邮政编码)

mysql - 如何使用MySQL数据适配器更新绑定(bind)到数据表的数据网格

MySQL (JDBC) - 基于列值的排行榜排名

mysql - 优化包含联接和子查询的查询

php - 连接到办公应用程序的类似于 Sharepoint 的功能