PHP中数据库连接和查询函数的使用方法
PHP中要使用数据库,首先需要建立数据库连接。常见的连接方式有MySQL和PDO两种。以下分别介绍这两种方式的连接方法、以及查询函数的使用方法。
1. MySQL连接和查询函数的使用方法
(1)连接MySQL数据库:
要使用MySQL连接,首先需要在PHP中安装MySQL扩展。连接函数为mysqli_connect(),可以使用以下代码建立与MySQL的连接:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
连接成功后,可以通过$conn变量访问数据库。
(2)使用MySQL查询函数:
MySQL查询函数有以下几种类型:
① mysqli_query($link,$sql):执行一条 SQL 查询。该函数仅对 SELECT、SHOW、DESCRIBE 或 EXPLAIN 命令有效。
以下是例子:
$sql = "SELECT * FROM user";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
}
} else {
echo "0 结果";
}
② mysqli_fetch_array($result,[type]):从结果集中取得一行作为关联数组、数字数组或二者兼有。
以下是例子:
$sql = "SELECT * FROM user";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_array($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
}
} else {
echo "0 结果";
}
③ mysqli_num_rows($result):从结果集中取得行数。
以下是例子:
$sql = "SELECT * FROM user"; $result = mysqli_query($conn, $sql); echo "共有 " . mysqli_num_rows($result) . " 条记录";
④ mysqli_affected_rows($link):返回最近一次 MySQL 操作所影响的记录行数。
以下是例子:
$sql = "DELETE FROM user WHERE id=3"; $result = mysqli_query($conn, $sql); echo "删除了 " . mysqli_affected_rows($conn) . " 条记录";
2. PDO连接和查询函数的使用方法
(1)连接PDO数据库:
要使用PDO连接,需要在PHP中安装PDO扩展。连接函数为pdo_connnect(),可以使用以下代码建立连接:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
}
catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
连接成功后,可以通过$conn变量访问数据库。
(2)使用PDO查询函数:
PDO查询函数有以下几种类型:
①PDO::query($sql):执行一条 SQL 查询并返回结果集对象。
以下是例子:
$sql = "SELECT * FROM user";
$result = $conn->query($sql);
if ($result->rowCount() > 0) {
foreach($result as $row) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
}
} else {
echo "0 结果";
}
②PDOStatement::fetch([fetch_style[, cursor_orientation[, cursor_offset]]]):从结果集中获取下一行。
以下是例子:
$sql = "SELECT * FROM user";
$result = $conn->query($sql);
if ($result->rowCount() > 0) {
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
}
} else {
echo "0 结果";
}
③PDOStatement::rowCount():返回结果集中的行数。
以下是例子:
$sql = "SELECT * FROM user"; $result = $conn->query($sql); echo "共有 " . $result->rowCount() . " 条记录";
④PDO::exec($sql):执行一条 SQL 语句并返回受影响的行数。
以下是例子:
$sql = "DELETE FROM user WHERE id=3"; $result = $conn->exec($sql); echo "删除了 " . $result . " 条记录";
综上所述,PHP中数据库连接和查询函数的使用方法大致分为MySQL和PDO两种方式,同一个类型下的连接和查询函数比较相似。开发者可以根据自己的需求和适用场景来选择使用哪种方式。
