PHP MySQL 讀取數(shù)據(jù)

2021-11-18 09:27 更新

當(dāng) PHP 連接到 MySQL 數(shù)據(jù)庫后,需要向數(shù)據(jù)庫讀取數(shù)據(jù)?那么怎么讀取呢?一起來看看。


從 MySQL 數(shù)據(jù)庫讀取數(shù)據(jù)

SELECT 語句用于從數(shù)據(jù)表中讀取數(shù)據(jù):

SELECT column_name(s) FROM table_name

我們可以使用 * 號來讀取所有數(shù)據(jù)表中的字段:

SELECT * FROM table_name

如需學(xué)習(xí)更多關(guān)于 SQL 的知識,請?jiān)L問我們的 SQL 教程。

以下實(shí)例中我們從表 MyGuests 讀取了 id, firstname 和 lastname 列的數(shù)據(jù)并顯示在頁面上:

實(shí)例 (MySQLi - 面向?qū)ο?

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 創(chuàng)建連接
$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) {
    // 輸出每行數(shù)據(jù)
    while($row = $result->fetch_assoc()) {
        echo "id: ". $row["id"]. " - Name: ". $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 results";
}


mysqli_close($conn);
?>


以下實(shí)例讀取了 MyGuests 表的所有記錄并顯示在 HTML 表格中:

實(shí)例 (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();

    // 設(shè)置結(jié)果集為關(guān)聯(lián)數(shù)組
    $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>";
?>


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號