查询数据库的方法php

2025-03-24 0 9

查询数据库的方法php

在PHP中查询数据库是一个常见的需求,解决方案主要是通过使用PHP的MySQLi或PDO(PHP Data Objects)扩展来建立与数据库的连接,并执行SQL查询语句获取数据。这两种方式都提供了安全、高效的方式来处理数据库操作。

一、使用MySQLi过程化编程

确保已正确安装并配置了MySQL数据库以及启用了PHP的MySQLi扩展。下面是一段简单的代码示例,演示如何使用MySQLi过程化风格查询名为“test”的数据库中的“users”表:

php
<?php
$servername = "localhost"; // 数据库服务器地址
$username = "root"; // 数据库用户名
$password = ""; // 数据库密码
$dbname = "test"; // 要查询的数据库名称</p>

<p>// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);</p>

<p>// 检测连接是否成功
if (!$conn) {
    die("连接失败: " . mysqli<em>connect</em>error());
}</p>

<p>$sql = "SELECT id, username FROM users"; // SQL查询语句
$result = mysqli_query($conn, $sql); // 执行查询</p>

<p>if (mysqli<em>num</em>rows($result) > 0) { // 如果结果集中有数据
    // 输出每行数据
    while($row = mysqli<em>fetch</em>assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["username"]. "<br>";
    }
} else {
    echo "0 结果";
}</p>

<p>mysqli_close($conn); // 关闭连接
?>

二、使用MySQLi面向对象编程

除了过程化编程外,MySQLi还支持面向对象的编程风格。这可以使得代码更易于维护和理解。以下是如何用面向对象的方式实现相同的查询功能:

php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";</p>

<p>try {
    $conn = new mysqli($servername, $username, $password, $dbname);</p>

<pre><code>// 检查连接
if ($conn->connect_error) {
    throw new Exception("连接失败: " . $conn->connect_error);
}

$sql = "SELECT id, username FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["username"]. "<br>";
    }
} else {
    echo "0 结果";
}

} catch(Exception $e) {
echo "异常发生: " . $e->getMessage();
} finally {
$conn->close();
}
?>

三、使用PDO连接

PDO提供了一种统一接口用于访问不同类型的数据库,如MySQL、PostgreSQL等。它具有更好的可移植性和安全性,推荐在实际项目中使用。下面是利用PDO查询“users”表的例子:

```php
<?php
$dsn = 'mysql:host=localhost;dbname=test;charset=utf8'; // 数据源名称
$username = 'root';
$password = '';

try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTRERRMODE, PDO::ERRMODEEXCEPTION); // 设置错误模式为抛出异常

$stmt = $pdo->prepare("SELECT id, username FROM users"); // 准备SQL语句
$stmt->execute(); // 执行查询

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { // 获取一行结果作为关联数组
    echo "id: " . $row['id'] . " - Name: " . $row['username'] . "<br>";
}

} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
} finally {
$pdo = null; // 断开连接
}
?>
```
以上三种方法都可以实现对数据库的查询操作,在具体选择时可以根据项目的实际情况和个人偏好决定采用哪种方式。

Image

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

源码下载