欢迎访问宙启技术站
智能推送

PHP数据库函数使用指南:常用函数及实例介绍

发布时间:2023-06-10 01:47:50

PHP是一种开源的、跨平台的脚本语言,它广泛应用于Web开发中。在Web开发中,数据库是不可或缺的组成部分。PHP提供了多种操作数据库的函数,本文将介绍PHP数据库函数的常用函数及实例,以便于初学者学习和掌握。

一、连接数据库

1. mysqli_connect($servername, $username, $password, $dbname): 连接MySQL数据库。

实例:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
mysqli_close($conn);

2. PDO连接数据库方法:连接多种类型的数据库,如MySQL、Oracle、SQLite等。

实例:

$dsn = "mysql:host=localhost;dbname=test;charset=utf8";
$username = "root";
$password = "";
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
);
try {
    $dbh = new PDO($dsn, $username, $password, $options);
    echo "连接成功";
} catch (PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}

二、查询数据

1. mysqli_query($conn, $sql): 执行一条MySQL查询语句。

实例:

$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
    }
} else {
    echo "0 结果";
}
mysqli_close($conn);

2. PDO查询数据方法:执行一条PDO查询语句。

实例:

$sql = "SELECT * FROM users";
$stmt = $dbh->query($sql);
if ($stmt->rowCount() > 0) {
    foreach ($stmt as $row) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
    }
} else {
    echo "0 结果";
}

三、插入数据

1. mysqli_query($conn, $sql): 执行一条MySQL插入语句。

实例:

$sql = "INSERT INTO users (name, email, password) VALUES ('Bill', 'bill@example.com', '123456')";
if (mysqli_query($conn, $sql)) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

2. PDO插入数据方法:执行一条PDO插入语句。

实例:

$name = "Bill";
$email = "bill@example.com";
$password = "123456";
$sql = "INSERT INTO users (name, email, password) VALUES (:name, :email, :password)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':password', $password);
if ($stmt->execute()) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $stmt->errorInfo()[2];
}

四、更新数据

1. mysqli_query($conn, $sql): 执行一条MySQL更新语句。

实例:

$sql = "UPDATE users SET email='bill_gates@example.com' WHERE id=2";
if (mysqli_query($conn, $sql)) {
    echo "记录更新成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

2. PDO更新数据方法:执行一条PDO更新语句。

实例:

$email = "bill_gates@example.com";
$id = 2;
$sql = "UPDATE users SET email=:email WHERE id=:id";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
    echo "记录更新成功";
} else {
    echo "Error: " . $sql . "<br>" . $stmt->errorInfo()[2];
}

五、删除数据

1. mysqli_query($conn, $sql): 执行一条MySQL删除语句。

实例:

$sql = "DELETE FROM users WHERE id=2";
if (mysqli_query($conn, $sql)) {
    echo "记录删除成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

2. PDO删除数据方法:执行一条PDO删除语句。

实例:

$id = 2;
$sql = "DELETE FROM users WHERE id=:id";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
    echo "记录删除成功";
} else {
    echo "Error: " . $sql . "<br>" . $stmt->errorInfo()[2];
}

六、防止SQL注入

在使用数据库函数前,必须要注意防止SQL注入。SQL注入是指攻击者通过输入非法的SQL代码,使程序和数据库发生不可预测的操作,严重威胁数据库的安全性。为防止SQL注入,必须对用户输入的数据进行过滤和验证。

1. mysqli_real_escape_string($conn, $str): 对字符串进行转义,防止SQL注入。

实例:

$name = mysqli_real_escape_string($conn, $_POST['name']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$sql = "INSERT INTO users (name, password) VALUES ('$name', '$password')";
if (mysqli_query($conn, $sql)) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

2. PDO参数化查询方法:使用参数化查询语句,防止SQL注入。

实例:

$name = $_POST['name'];
$password = $_POST['password'];
$sql = "INSERT INTO users (name, password) VALUES (:name, :password)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':password', $password);
if ($stmt->execute()) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $stmt->errorInfo()[2];
}

总结:

以上就是PHP数据库函数的常用函数及实例介绍。连接数据库、查询数据、插入数据、更新数据、删除数据是数据库操作的基本操作,学会这些操作,就可以进行常规的数据库操作。同时,为了保障数据库的安全性,要注意防止SQL注入,对用户输入的数据进行过滤和验证。