从PHP创建MySQL存储过程需要遵循以下步骤:
以下是一个简单的示例:
<?php
// 1. 创建一个MySQL数据库连接
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 2. 编写SQL语句以创建存储过程
$sql = "CREATE PROCEDURE GetSum(IN num1 INT, IN num2 INT, OUT sum INT)
BEGIN
SET sum = num1 + num2;
END";
// 3. 使用PHP执行SQL语句
if ($conn->query($sql) === TRUE) {
echo "存储过程创建成功";
} else {
echo "创建失败: " . $conn->error;
}
// 4. 关闭数据库连接
$conn->close();
?>
在这个示例中,我们创建了一个名为GetSum
的存储过程,该过程接受两个输入参数num1
和num2
,并返回一个名为sum
的输出参数,该参数包含两个输入参数的和。
要调用此存储过程,可以使用以下SQL语句:
CALL GetSum(10, 20, @sum);
SELECT @sum;
在PHP中,可以使用以下代码调用存储过程:
<?php
// 1. 创建一个MySQL数据库连接
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 2. 调用存储过程
$sql = "CALL GetSum(10, 20, @sum)";
$result = $conn->query($sql);
// 3. 获取存储过程的输出参数
$sql = "SELECT @sum";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "和为: " . $row["@sum"];
}
} else {
echo "0 结果";
}
// 4. 关闭数据库连接
$conn->close();
?>
这将输出存储过程的结果,即两个输入参数的和。
领取专属 10元无门槛券
手把手带您无忧上云