【发布时间】:2016-07-03 22:04:39
【问题描述】:
我正在使用 DBAL,我想执行多个插入查询。但我有问题:bindValue() 方法不能循环工作。这是我的代码:
$insertQuery = "INSERT INTO `phonebook`(`number`, `company`, `user`) VALUES %s
ON DUPLICATE KEY UPDATE company=VALUES(company), user=VALUES(user)";
for ($i = 0; $i < count($data); $i++) {
$inserted[] = "(':number', ':company', ':user')";
}
$insertQuery = sprintf($insertQuery, implode(",", $inserted));
$result = $db->getConnection()->prepare($insertQuery);
for ($i = 0; $i < count($data); $i++) {
$result->bindValue($data[$i]["number"]);
$result->bindValue($data[$i]["company"]);
$result->bindValue($data[$i]["user"]);
}
$result->execute();
结果我收到了包含字段的单行表::number、:company、:user。
我做错了什么?
非常感谢您的帮助!
【问题讨论】: