我有一个 php 函数 getContactList()
:
$res = getContactList(trim($_POST['username']), trim($_POST['password']));
返回这个数组:
$contactList[] = array('name' => $name, 'email' =>$email);
我需要将这个数组的内容存储到 MySQL 数据库中。 我能以某种方式将数组的全部内容一次性存储在数据库中吗? 数组项的数量每次都会超过 500,所以我想避免通常的循环做法并在 for 循环中调用“Insert”语句,因为这需要很长时间才能执行。
注意:我需要将结果存储在单独的列中 - 一个用于名称,另一个用于电子邮件。该数组中有 500 个项目,我需要插入 500 行 - 每行一对姓名-电子邮件。
最佳答案
$values = array();
// the above array stores strings such as:
// ('username', 'user@domain.com')
// ('o\'brien', 'baaz@domain.com')
// etc
foreach($contactList as $i => $contact) {
$values[] = sprintf(
"('%s', '%s')",
mysql_real_escape_string($contact['name'], $an_open_mysql_connection_identifier),
mysql_real_escape_string($contact['email'], $an_open_mysql_connection_identifier)
);
}
$query = sprintf(
"INSERT INTO that_table(name, email) VALUES %s",
implode(",", $values)
);
关于php - 将数组内容存入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7847787/