【发布时间】:2014-02-02 06:18:34
【问题描述】:
我正在使用准备语句将一组语句插入到我的数据库中。但是我面临着正确插入它的问题。我的代码看起来像这样 我有 $requests 数组
(
[0] => 456908497765326_100004069844270
[1] => 456908497765326_100000058716604
)
$stmt = $this->core->dbh->prepare("INSERT INTO fb_requests(user_id,fb_user_id,request_id,game_selected,accept_status) VALUES(:user_id,:fb_user_id,:request_id,:game_selected,:outstanding)");
for($i=0;$i<2;$i++){
echo "counter value".$i; echo"</br>";
foreach($requests as $requestid) {
echo "request value".$requestid; echo"</br>";
$stmt->execute(array('user_id'=>$user_id,':fb_user_id' => $uid, ':request_id' => $requestid,':game_selected' => $i, ':outstanding' => $outstanding));
}
}
插入仅适用于内部 foreach 循环。我可以看到插入到我的数据库中的两行。但是外部 for 循环不起作用。我希望在我的数据库中插入 4 行。请帮我解决这个问题
【问题讨论】:
-
你的数据库架构是什么样的?
-
也许你在某处有一个独特的约束来阻止多次插入?如果您启用异常错误模式,脚本将会失败。
-
@jack,非常感谢您的快速回复。你的猜测是对的。我在那里有一个独特的限制……再一次。非常感谢您的帮助和支持
标签: php arrays pdo foreach sql-insert