PHP MySQL 读取数据
PHP MySQL 读取数据技术文档
1. 连接数据库
在 PHP 中连接 MySQL 数据库,需要使用 MySQLi 或者 PDO 扩展。这里以 MySQLi 为例。
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
2. 查询数据
在 PHP 中查询 MySQL 数据,需要使用 SQL 语句。最基本的查询语句是 SELECT
,它可以用来获取 MySQL 数据表中的数据。
$sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["username"]. " - E-mail: " . $row["email"]. "<br>";
}
} else {
echo "0 结果";
}
3. 结果集处理
MySQL 数据库返回的查询结果是一组数据,PHP 中使用的处理结果集的方式大致如下:
3.1. fetch_assoc()
获取一行结果集,以关联数组的形式返回。
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["username"]. " - E-mail: " . $row["email"]. "<br>";
}
3.2. fetch_row()
获取一行结果集,以数字索引数组的形式返回。
while($row = $result->fetch_row()) {
echo "ID: " . $row[0]. " - Name: " . $row[1]. " - E-mail: " . $row[2]. "<br>";
}
3.3. fetch_array()
获取一行结果集,以关联和数字索引的形式返回。
while($row = $result->fetch_array()) {
echo "ID: " . $row["id"]. " - Name: " . $row[1]. " - E-mail: " . $row["email"]. "<br>";
}
4. 参数化查询
在 PHP 中,使用参数化查询可以有效地防止 SQL 注入攻击,并且提高查询效率。参数化查询可以通过 prepare()
和 bind_param()
方法实现。
$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $username, $password);
// 设置参数
$username = "admin";
$password = "123456";
$stmt->execute();
$result = $stmt->get_result();
5. 关闭连接
当查询完成后,需要及时关闭与数据库的连接。使用 close()
方法可以关闭连接。
$conn->close();
以上就是使用 PHP 连接 MySQL 数据库,并且读取数据的基本方法。在编写应用程序时,还需要参考具体的业务需求,灵活选择相关技术。