您的位置:宽带测速网 > 网络知识 > php数据库搜索与存储过程

php数据库搜索与存储过程

2025-06-16 18:14来源:互联网 [ ]

在PHP中,我们可以使用PDO(PHP Data Objects)库来执行数据库搜索和存储过程。以下是使用PDO执行数据库搜索和存储过程的示例。

首先,创建一个名为users的数据库表:

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL UNIQUE,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);

接下来,我们将展示如何使用PDO执行数据库搜索。

数据库搜索
<?php// 数据库连接信息$servername = "localhost";$username = "your_username";$password = "your_password";$dbname = "your_database";try {// 创建PDO连接$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);// 搜索关键词$keyword = "John";// 准备SQL语句$stmt = $conn->prepare("SELECT * FROM users WHERE username LIKE :keyword");$stmt->bindParam(':keyword', $keyword, PDO::PARAM_STR);// 执行查询$stmt->execute();// 获取结果$results = $stmt->fetchAll(PDO::FETCH_ASSOC);// 输出结果foreach ($results as $row) {echo "ID: " . $row['id'] . " - Username: " . $row['username'] . " - Email: " . $row['email'] . "<br>";}} catch (PDOException $e) {echo "Error: " . $e->getMessage();}// 关闭连接$conn = null;?>
存储过程

接下来,我们将创建一个名为insert_user的存储过程,用于向users表中插入新用户。

DELIMITER //CREATE PROCEDURE insert_user(IN p_username VARCHAR(255), IN p_email VARCHAR(255))BEGININSERT INTO users (username, email) VALUES (p_username, p_email);END //DELIMITER ;

现在,我们可以使用PDO调用存储过程来插入新用户。

<?php// 数据库连接信息$servername = "localhost";$username = "your_username";$password = "your_password";$dbname = "your_database";try {// 创建PDO连接$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);// 插入新用户$username = "Jane";$email = "jane@example.com";// 准备调用存储过程$stmt = $conn->prepare("CALL insert_user(:username, :email)");$stmt->bindParam(':username', $username, PDO::PARAM_STR);$stmt->bindParam(':email', $email, PDO::PARAM_STR);// 执行存储过程$stmt->execute();echo "New user inserted successfully!";} catch (PDOException $e) {echo "Error: " . $e->getMessage();}// 关闭连接$conn = null;?>

以上示例展示了如何使用PDO在PHP中执行数据库搜索和存储过程。请确保将your_usernameyour_passwordyour_database替换为您的实际数据库连接信息。

PHP