PDO:在函数内使用绑定参数
PDO : using bound parameters inside a function
我正在使用 PDO 连接到 MySQL,但遇到如下问题:
鉴于该代码
$stmt = $conn->prepare($query);
$stmt->bindParam(':param0', $params[0]);
$stmt->bindParam(':param1', $params[1]);
$stmt->bindParam(':param2', $params[2]);
然后,我想调用一个函数 foo($stmt,...),如何在该函数中使用数组 $params 为 $params 数组的每个元素分配新值?
您需要通过引用将 $params
数组传递给函数,因为参数绑定到对调用方数组的引用。
function foo($stmt, &$params) {
$params[0] = 1;
$params[1] = "abc";
$params[2] = "xxx";
$stmt->execute();
}
$stmt = $conn->prepare($query);
$stmt->bindParam(':param0', $params[0]);
$stmt->bindParam(':param1', $params[1]);
$stmt->bindParam(':param2', $params[2]);
foo($stmt, $params);
我正在使用 PDO 连接到 MySQL,但遇到如下问题: 鉴于该代码
$stmt = $conn->prepare($query);
$stmt->bindParam(':param0', $params[0]);
$stmt->bindParam(':param1', $params[1]);
$stmt->bindParam(':param2', $params[2]);
然后,我想调用一个函数 foo($stmt,...),如何在该函数中使用数组 $params 为 $params 数组的每个元素分配新值?
您需要通过引用将 $params
数组传递给函数,因为参数绑定到对调用方数组的引用。
function foo($stmt, &$params) {
$params[0] = 1;
$params[1] = "abc";
$params[2] = "xxx";
$stmt->execute();
}
$stmt = $conn->prepare($query);
$stmt->bindParam(':param0', $params[0]);
$stmt->bindParam(':param1', $params[1]);
$stmt->bindParam(':param2', $params[2]);
foo($stmt, $params);