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

PHP数据库函数:10个CRUD示例

发布时间:2023-05-28 20:55:36

在现代互联网应用程序中,数据库是必不可少的,对于开发人员而言,熟练使用数据库函数可以让应用程序更加高效、快速,同时也减少了冗余的代码。PHP是一种十分流行的Web开发语言,其内置功能丰富,无疑也提供了丰富的数据库函数来实现CRUD(Create、Read、Update、Delete)操作。下面将介绍10个PHP数据库函数的例子,这些例子可以帮助初学者更好地理解和应用这些函数。

1. 连接数据库

在PHP中,可以使用mysqli_connect函数来连接数据库。下面是一个例子:

$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

在这个例子中,$servername表示服务器名,$username表示用户名,$password表示密码,$dbname表示要连接的数据库名。如果连接失败,将会返回一个错误信息。

2. 插入数据

在插入数据时,可以使用mysqli_query函数。下面是一个例子:

$sql = "INSERT INTO users (first_name, last_name, email) VALUES ('John', 'Doe', 'john@example.com')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

在这个例子中,我们向名为“users”的表中插入了一条数据。如果插入成功,将会输出一个成功的信息,否则会输出一个错误信息。

3. 查询数据

在查询数据时,可以使用mysqli_query函数。下面是一个例子:

$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["first_name"]. " " . $row["last_name"]. "<br>";
    }
} else {
    echo "0 results";
}

在这个例子中,我们查询了“users”表中的所有数据,并将结果输出。如果没有找到结果,将会输出错误信息。

4. 更新数据

在更新数据时,可以使用mysqli_query函数。下面是一个例子:

$sql = "UPDATE users SET email='john.doe@example.com' WHERE id=1";

if (mysqli_query($conn, $sql)) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . mysqli_error($conn);
}

在这个例子中,我们更新了id为1的数据,并将其email字段更新为“john.doe@example.com”。如果更新成功,将会输出一个成功的信息,否则会输出一个错误信息。

5. 删除数据

在删除数据时,可以使用mysqli_query函数。下面是一个例子:

$sql = "DELETE FROM users WHERE id=1";

if (mysqli_query($conn, $sql)) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . mysqli_error($conn);
}

在这个例子中,我们删除了id为1的数据。如果删除成功,将会输出一个成功的信息,否则会输出一个错误信息。

6. 处理事务

在处理多个操作时,需要使用事务来确保数据的完整性。下面是一个例子:

mysqli_autocommit($conn, FALSE);
$sql1 = "INSERT INTO users (first_name, last_name, email) VALUES ('John', 'Doe', 'john@example.com')";
$sql2 = "UPDATE users SET email='john.doe@example.com' WHERE id=1";

if (mysqli_query($conn, $sql1) && mysqli_query($conn, $sql2)) {
    mysqli_commit($conn);
    echo "Transaction completed successfully";
} else {
    mysqli_rollback($conn);
    echo "Transaction rolled back";
}

在这个例子中,我们向名为“users”的表中插入了一条数据,并将id为1的数据的email更新为“john.doe@example.com”。如果两个操作都成功,将会输出一个成功的信息,否则会输出一个错误信息。

7. 预处理语句

在处理用户输入时,需要使用预处理语句来防止SQL注入攻击。下面是一个例子:

$stmt = mysqli_prepare($conn, "INSERT INTO users (first_name, last_name, email) VALUES (?, ?, ?)");
mysqli_stmt_bind_param($stmt, "sss", $first_name, $last_name, $email);

$first_name = "John";
$last_name = "Doe";
$email = "john@example.com";
mysqli_stmt_execute($stmt);
echo "New records created successfully";

mysqli_stmt_close($stmt);

在这个例子中,我们使用预处理语句插入了一条数据。注意,这里使用了参数绑定,$stmt变量包含了预处理语句,而mysqli_stmt_bind_param函数中的“sss”表示三个字符串类型的参数。最后,我们使用mysqli_stmt_execute函数来执行预处理语句。

8. 批处理语句

在需要插入/更新多条数据时,可以使用批处理语句来提高性能。下面是一个例子:

$sql = "INSERT INTO users (first_name, last_name, email) VALUES (?, ?, ?)";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "sss", $first_name, $last_name, $email);

$first_name = "John";
$last_name = "Doe";
$email = "john@example.com";
mysqli_stmt_execute($stmt);

$first_name = "Jane";
$last_name = "Doe";
$email = "jane@example.com";
mysqli_stmt_execute($stmt);

mysqli_stmt_close($stmt);
echo "Records created successfully";

在这个例子中,我们使用批处理语句向“users”表中添加了两条数据。我们首先准备了预处理语句,然后分别给参数赋值并执行预处理语句。

9. 选择特定列

在查询数据时,可以使用SELECT语句选择特定的列。下面是一个例子:

$sql = "SELECT first_name, last_name FROM users";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "Name: " . $row["first_name"]. " " . $row["last_name"]. "<br>";
    }
} else {
    echo "0 results";
}

在这个例子中,我们只选择了名字和姓氏字段,并将结果输出。如果没有找到结果,将会输出错误信息。

10. 使用多种操作符

在构造SQL语句时,可以使用多种操作符来筛选数据。下面是一个例子:

$sql = "SELECT * FROM users WHERE email LIKE '%example.com' AND id > 10";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["first_name"]. " " . $row["last_name"]. " - Email: " . $row["email"] . "<br>";
    }
} else {
    echo "0 results";
}

在这个例子中,我们使用了LIKE操作符来筛选以“example.com”结尾的email地址,并使用AND操作符来组合使用。最终,在结果中输出了符合条件的数据。

总结

这10个示例说明了如何使用PHP的数据库函数来实现CRUD操作。无论您是新手还是经验丰富的开发人员,这些示例都有助于您更好地理解和应用PHP的数据库函数,以提高Web应用程序的性能和可靠性。