PHP访问数据库的基础知识与实践

在Web开发中,数据库是存储和管理数据的重要工具,PHP作为一种广泛使用的服务器端脚本语言,提供了丰富的内置函数和扩展库来访问各种类型的数据库,本文将介绍PHP访问数据库的基础知识和实践,包括连接数据库、执行SQL语句、处理查询结果等。

1、连接数据库

要使用PHP访问数据库,首先需要建立与数据库的连接,PHP提供了多种扩展库来支持不同类型的数据库,如MySQLi、PDO等,以下是一个使用MySQLi扩展库连接MySQL数据库的示例:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 
echo "连接成功";
?>

2、执行SQL语句

建立数据库连接后,可以使用PHP提供的SQL语句来操作数据库,以下是一些常用的SQL语句:

php访问数据库 php 访问数据库

- SELECT:查询数据

- INSERT:插入数据

- UPDATE:更新数据

- DELETE:删除数据

以下是一个使用PHP执行SELECT语句查询数据的示例:

<?php
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->input($sql);
if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 结果";
}
$conn->close();
?>

3、处理查询结果

查询数据库后,通常需要对查询结果进行处理,PHP提供了多种方法来处理查询结果,如使用fetch_assoc()fetch_array()等函数获取查询结果的每一行数据,以下是一个处理查询结果的示例:

<?php
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->input($sql);
if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    } else {
        echo "0 结果";
    }
} else {
    echo "查询错误";
}
$conn->close();
?>

4、防止SQL注入攻击

在使用PHP访问数据库时,需要注意防止SQL注入攻击,SQL注入是一种常见的安全漏洞,攻击者通过在输入框中输入恶意的SQL代码来执行非法操作,为了防止SQL注入攻击,可以使用预处理语句(PreparedStatement)或参数化查询,以下是一个使用预处理语句的示例:

<?php
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);
// 设置参数并执行
$firstname = "John";
$lastname = "Doe";
$email = "john@example.com";
$stmt->execute();
echo "新记录插入成功";
$stmt->close();
$conn->close();
?>