PHP MySQL 读取数据

2024-01-12 15:12 小编

当 PHP 连接到 MySQL 数据库后,需要向数据库读取数据?那么怎么读取呢?一起来看看。

从 MySQL 数据库读取数据

SELECT 语句用于从数据表中读取数据:

SELECT column_name(s) FROM table_name

我们可以使用 * 号来读取所有数据表中的字段:

SELECT * FROM table_name

如需学习更多关于 SQL 的知识,请访问我们的 SQL 教程。

以下实例中我们从表 MyGuests 读取了 id, firstname 和 lastname 列的数据并显示在页面上:

实例 (MySQLi - 面向对象)

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// 创建连接

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

// 检测连接

if ($conn->connect_error) {

    die("Connection failed: " . $conn->connect_error);

}

$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 results";

}

mysqli_close($conn);

?>

以下实例读取了 MyGuests 表的所有记录并显示在 HTML 表格中:

实例 (PDO)

<?php

echo "<table style='border: solid 1px black;'>";

echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th><th>Email</th><th>Reg date</th></tr>";

class TableRows extends RecursiveIteratorIterator {

    function __construct($it) {

        parent::__construct($it, self::LEAVES_ONLY);

    }

    function current() {

        return "<td style='width: 150px; border: 1px solid black;'>" . parent::current(). "</td>";

    }

    function beginChildren() {

        echo "<tr>";

    }

    function endChildren() {

        echo "</tr>" . "\n";

    }

}

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDBPDO";

try {

    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $conn->prepare("SELECT * FROM MyGuests");

    $stmt->execute();

    // 设置结果集为关联数组

    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {

        echo $v;

    }

    $dsn = null;

    }

catch(PDOException $e)

    {

    echo "Error: " . $e->getMessage();

    }

$conn = null;

echo "</table>";

?>


在线咨询 拨打电话

电话

13363039260

微信二维码

微信二维码