引言PHP作为一种流行的服务器端脚本语言,常与数据库结合使用以实现数据的存储和检索。掌握PHP数据库操作对于开发高性能的Web应用程序至关重要。本文将详细介绍PHP数据库操作的关键技术,并通过实战案例...
PHP作为一种流行的服务器端脚本语言,常与数据库结合使用以实现数据的存储和检索。掌握PHP数据库操作对于开发高性能的Web应用程序至关重要。本文将详细介绍PHP数据库操作的关键技术,并通过实战案例进行深入解析。
PHP中常用的数据库连接方式有PDO(PHP Data Objects)和mysqli。以下是一个使用PDO连接MySQL数据库的示例代码:
<?php
$host = 'localhost';
$dbname = 'mydatabase';
$username = 'root';
$password = '';
try { $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) { die("Connection failed: " . $e->getMessage());
}
?>在PHP中,可以使用PDO或mysqli执行SQL查询。以下是一个使用PDO执行SELECT查询的示例:
<?php
try { $stmt = $pdo->query("SELECT * FROM employees WHERE department = 'Sales'"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $row['employee_name']; }
} catch (PDOException $e) { die("Query failed: " . $e->getMessage());
}
?>本案例将展示如何使用PHP和MySQL实现用户注册与登录功能。
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL
);<?php
// 注册用户
$username = $_POST['username'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
try { $stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (:username, :password)"); $stmt->bindParam(':username', $username); $stmt->bindParam(':password', $password); $stmt->execute(); echo "Registration successful!";
} catch (PDOException $e) { die("Registration failed: " . $e->getMessage());
}
?><?php
// 用户登录
$username = $_POST['username'];
$password = $_POST['password'];
try { $stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username"); $stmt->bindParam(':username', $username); $stmt->execute(); if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { if (password_verify($password, $row['password'])) { echo "Login successful!"; } else { echo "Invalid password!"; } } else { echo "User not found!"; }
} catch (PDOException $e) { die("Login failed: " . $e->getMessage());
}
?>本案例将展示如何使用PHP和MySQL实现产品信息管理系统的基本功能。
CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, price DECIMAL(10, 2) NOT NULL, description TEXT
);<?php
// 添加产品
$name = $_POST['name'];
$price = $_POST['price'];
$description = $_POST['description'];
try { $stmt = $pdo->prepare("INSERT INTO products (name, price, description) VALUES (:name, :price, :description)"); $stmt->bindParam(':name', $name); $stmt->bindParam(':price', $price); $stmt->bindParam(':description', $description); $stmt->execute(); echo "Product added successfully!";
} catch (PDOException $e) { die("Product addition failed: " . $e->getMessage());
}
?><?php
try { $stmt = $pdo->query("SELECT * FROM products"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "<tr><td>" . $row['name'] . "</td><td>" . $row['price'] . "</td><td>" . $row['description'] . "</td></tr>"; }
} catch (PDOException $e) { die("Product list failed: " . $e->getMessage());
}
?>通过以上实战案例和技巧分享,相信您已经掌握了PHP数据库操作的核心技术。在实际开发过程中,不断实践和总结经验,才能不断提高自己的技能水平。