PHP PDO bindParam 落在了 foreach 中

标签 php pdo

我有一个这样的循环:

foreach($Fields as $Name => $Value){
    $Query->bindParam(':'.$Name, $Value, PDO::PARAM_STR);
}

没什么复杂的。但是,每个值都设置为数组中的最后一个值 ($Fields)。

我该如何解决?

最佳答案

但是,多亏了这个guys .我发现你需要像这样之前用 & 通过引用传递值:

foreach($Fields as $Name => &$Value){
    $Query->bindParam(':'.$Name, $Value, PDO::PARAM_STR);
}

这让我抓狂。

实际报价来自PHP.net :

Vili 28-May-2010 12:01

This works ($val by reference):

<?php
foreach ($params as $key => &$val){
    $sth->bindParam($key, $val);
}
?>

This will fail ($val by value, because bindParam needs &$variable):

<?php
foreach ($params as $key => $val) {
    $sth->bindParam($key, $val);
}
?>

关于PHP PDO bindParam 落在了 foreach 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144557/

相关文章:

php - 求和函数返回错误值

php - 从 session ID 为 0 的购物车中删除项目

php - 多维数组到哈希

php - PDO 准备好的语句 : use NULL if value is missing

php - PDO - PHP fatal error : Call to a member function execute() on a non-object in

php - 为什么这个 PDO 语句会默默地失败?

php - mysql where 子句基于另一个查询

php - 使用 PHP 将 CSV 加载到 MySQL 表中

mysql - 防止重复条目自动递增

PHP PDO 未从 MSSQL 存储过程调用中找到 OUTPUT 参数