I am using PDO to connect to MySQL, and I have an issue as follows : Given that code
$stmt = $conn->prepare($query);
$stmt->bindParam(':param0', $params[0]);
$stmt->bindParam(':param1', $params[1]);
$stmt->bindParam(':param2', $params[2]);
Then, I want to call a function foo($stmt,...), How can I use the array $params inside that function which would assign new values for each element of the $params array?
CodePudding user response:
You will need to pass the $params
array to the function by reference, since the parameters are bound to references to the caller's array.
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);