Heim >Backend-Entwicklung >PHP-Tutorial >PHP MySQL-Operationen und -Methoden zum Lesen von Daten

PHP MySQL-Operationen und -Methoden zum Lesen von Daten

jacklove
jackloveOriginal
2018-05-07 13:02:222432Durchsuche

Das Lesen von PHP-MySQL-Daten spielt eine wichtige Rolle bei Datenbankoperationen. In diesem Artikel wird der Vorgang des Lesens von Daten ausführlich erläutert.

Daten aus der MySQL-Datenbank lesen

Die SELECT-Anweisung wird verwendet, um Daten aus der Datentabelle zu lesen:

SELECT Spaltenname(n) FROM Tabellenname

Wir können das *-Zeichen verwenden, um die Felder in allen Datentabellen zu lesen:

SELECT * FROM table_name

Um mehr über SQL zu erfahren, besuchen Sie bitte unser SQL-Tutorial.

Mit MySQLi

Im folgenden Beispiel lesen wir die Daten der Spalten id, firstname und lastname aus der MyGuests-Tabelle der myDB-Datenbank und zeigen sie auf der Seite an:

Instanz (MySQLi - Objektorientiert)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB"; 
// 创建连接$conn = new mysqli($servername, $username, $password, $dbname);// Check connectionif ($conn->connect_error) {
    die("连接失败: " . $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 结果";}$conn->close();?>


Der obige Code wird wie folgt analysiert:

Zuerst setzen wir Erstellen Sie die SQL-Anweisung zum Lesen aus der MyGuests-Datentabelle. Nehmen Sie drei Felder: ID, Vorname und Nachname. Anschließend verwenden wir die geänderte SQL-Anweisung, um die Ergebnismenge aus der Datenbank abzurufen und sie der kopierten Variablen $result zuzuweisen.

Funktion num_rows() ermittelt die zurückgegebenen Daten.

Wenn mehrere Daten zurückgegeben werden, fügt die Funktion fetch_assoc() die kombinierte Menge in ein assoziatives Array ein und gibt sie in einer Schleife aus. while() durchläuft die Ergebnismenge und gibt die drei Feldwerte id, firstname und lastname aus.

Das folgende Beispiel verwendet den prozessorientierten Ansatz von MySQLi und der Effekt ähnelt dem obigen Code:

Beispiel (MySQLi – prozessorientiert)

<?php$servername = "localhost";$username = "username";$password = "password";$dbname = "myDB"; 
// 创建连接$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$conn) {
    die("连接失败: " . mysqli_connect_error());}
 $sql = "SELECT id, firstname, lastname FROM MyGuests";$result = mysqli_query($conn, $sql); 
if (mysqli_num_rows($result) > 0) {
    // 输出数据
    while($row = mysqli_fetch_assoc($result)) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";    }} else {
    echo "0 结果";}
 mysqli_close($conn);?>

Verwendung von PDO ( + Vorverarbeitung)

Die folgenden Beispiele verwenden vorbereitete Anweisungen.

Die Felder „ID“, „Vorname“ und „Nachname“ in der MyGuests-Tabelle ausgewählt und in der HTML-Tabelle platziert:

Instanz (PDO)

<?phpecho "<table style=&#39;border: solid 1px black;&#39;>";echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>"; 
class TableRows extends RecursiveIteratorIterator {
    function construct($it) { 
        parent::construct($it, self::LEAVES_ONLY); 
    }
 
    function current() {
        return "<td style=&#39;width:150px;border:1px solid black;&#39;>" . 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 id, firstname, lastname FROM MyGuests"); 
    $stmt->execute(); 
    // 设置结果集为关联数组
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
        echo $v;    }}catch(PDOException $e) {
    echo "Error: " . $e->getMessage();}$conn = null;echo "</table>";?>

In diesem Artikel wird erklärt, wie man das liest Datenbank Weitere Lernmaterialien finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

So verwenden Sie PHP zum Versenden von E-Mails

Verstehen und Verwendung von PHP-Cookies

Verständnis und Anwendung von PHP-Sitzungswissen über Caching


Das obige ist der detaillierte Inhalt vonPHP MySQL-Operationen und -Methoden zum Lesen von Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn