引言

mysqli(MySQL Improved)是PHP中用来处理MySQL数据库的一个库,它提供了比传统的mysql库更加强大和灵活的功能。掌握mysqli,可以让我们更加高效地实现数据库查询和输出。本文将详细介绍mysqli的基本用法,以及如何通过它实现高效的数据库查询输出。

mysqli简介

mysqli是PHP5及以上版本中推荐使用的MySQL数据库连接库。它不仅继承了mysql库的功能,还增加了许多新的特性,如支持预处理语句、事务处理等。

连接MySQL数据库

首先,我们需要使用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); } ?> 

执行查询

连接到数据库后,我们可以使用mysqli的查询功能来执行SQL语句。以下是一个简单的查询示例:

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

预处理语句

预处理语句可以防止SQL注入攻击,提高查询效率。以下是一个使用预处理语句的示例:

$stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests WHERE lastname=?"); $stmt->bind_param("s", $lastname); $lastname = "Doe"; $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 结果"; } $stmt->close(); $conn->close(); ?> 

事务处理

事务处理可以确保数据的一致性。以下是一个简单的示例:

$conn->begin_transaction(); try { // 执行多个SQL语句 $sql1 = "INSERT INTO table1 (column1) VALUES (value1)"; $sql2 = "INSERT INTO table2 (column2) VALUES (value2)"; $conn->query($sql1); $conn->query($sql2); // 提交事务 $conn->commit(); } catch (Exception $e) { // 回滚事务 $conn->rollback(); throw $e; } $conn->close(); ?> 

总结

通过以上介绍,相信你已经掌握了mysqli的基本用法,以及如何通过它实现高效的数据库查询输出。在实际开发中,灵活运用这些技巧,可以提高你的工作效率,降低系统风险。