[英]PHP PDO foreach issue
所以我有一个php函数,可以更新数据库中的2列。 看起来像这样:
$fields = array("firstname" => "Joe", "lastname" = "Dunno");
$stmt = $connection->prepare("UPDATE users SET firstname = :firstname, lastname = :lastname WHERE user_id = :user_id");
foreach ($fields as $key => $value)
{
$stmt->bindParam(":" . $key, $value);
}
$stmt->bindParam(":user_id", $user_id);
但是,当我出于某种原因执行该语句时,它喜欢将名字和姓氏都更新为Dunno,而不是Joe和Dunno。
我尝试回显$key
和$value
,它可以正确打印出来。
出于某些奇怪的原因,如果我使用此for循环,它将正常工作。
for ($fieldsKeys = array_keys($fields), $x = 0; $x < count($fields); $x++)
{
$stmt->bindParam(":" . $fieldsKeys[$x], $fields[$fieldsKeys[$x]]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.