在 PHP 中,要使用数据库存储过程,首先需要了解如何在数据库中创建存储过程。以下是一个简单的 MySQL 存储过程示例,用于向表中插入数据:
test_table
的表:CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT NOT NULL
);
insert_data
的存储过程:DELIMITER //
CREATE PROCEDURE insert_data(IN p_name VARCHAR(255), IN p_age INT)
BEGIN
INSERT INTO test_table (name, age) VALUES (p_name, p_age);
END //
DELIMITER ;
在这个例子中,我们创建了一个名为 insert_data
的存储过程,它接受两个参数:p_name
和 p_age
。存储过程将这两个参数的值插入到 test_table
表中。
<?php
// 连接到 MySQL 数据库
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_dbname";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 调用存储过程
$name = "John Doe";
$age = 30;
$sql = "CALL insert_data('{$name}', {$age})";
if ($conn->query($sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
// 关闭连接
$conn->close();
?>
在这个 PHP 代码示例中,我们首先连接到 MySQL 数据库,然后调用 insert_data
存储过程,将参数 $name
和 $age
的值传递给存储过程。如果存储过程执行成功,我们将输出 “新记录插入成功”,否则将输出错误信息。最后,关闭数据库连接。