在 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
的值傳遞給存儲過程。如果存儲過程執行成功,我們將輸出 “新記錄插入成功”,否則將輸出錯誤信息。最后,關閉數據庫連接。