请给一个PHP传参数调用mysql存储过程并接收返回值的例子
时间: 2024-05-09 21:21:20 浏览: 108
以下是一个PHP传参数调用MySQL存储过程并接收返回值的例子:
```
<?php
// 连接数据库
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// 检查连接是否成功
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
// 准备调用存储过程的参数
$param1 = 'John';
$param2 = 'Doe';
// 调用存储过程并接收返回值
if ($mysqli->multi_query("CALL my_stored_procedure('$param1', '$param2', @result)")) {
$result = $mysqli->query("SELECT @result as result");
$data = $result->fetch_assoc();
echo $data['result']; // 输出存储过程返回的值
}
// 关闭数据库连接
$mysqli->close();
?>
```
在上面的例子中,我们使用`mysqli`类连接到MySQL数据库,并准备调用存储过程的参数。然后,我们使用`multi_query()`方法调用存储过程,并将返回值存储在MySQL的用户变量`@result`中。接着,我们使用`SELECT`语句查询`@result`变量,并将其作为关联数组返回。最后,我们输出存储过程返回的值并关闭数据库连接。
需要注意的是,`multi_query()`方法可以执行包含多条SQL语句的查询,因此我们可以在其中调用存储过程并执行其他操作。但是,在调用存储过程时,我们需要使用`CALL`语句,以便正确地执行存储过程并将返回值存储在用户变量中。
阅读全文