溫馨提示×

PHP數據庫存儲過程怎樣寫

PHP
小樊
82
2024-10-24 02:51:39
欄目: 云計算

在 PHP 中,要使用數據庫存儲過程,首先需要了解如何在數據庫中創(chuàng)建存儲過程。以下是一個簡單的 MySQL 存儲過程示例,用于向表中插入數據:

  1. 創(chuàng)建一個名為 test_table 的表:
CREATE TABLE test_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    age INT NOT NULL
);
  1. 創(chuàng)建一個名為 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 ;

在這個例子中,我們創(chuàng)建了一個名為 insert_data 的存儲過程,它接受兩個參數:p_namep_age。存儲過程將這兩個參數的值插入到 test_table 表中。

  1. 在 PHP 代碼中調用存儲過程:
<?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 的值傳遞給存儲過程。如果存儲過程執(zhí)行成功,我們將輸出 “新記錄插入成功”,否則將輸出錯誤信息。最后,關閉數據庫連接。

0