Heim  >  Artikel  >  Backend-Entwicklung  >  So lesen Sie Daten über PHP MySQL

So lesen Sie Daten über PHP MySQL

jacklove
jackloveOriginal
2018-05-07 14:12:203326Durchsuche

Das Lesen von Daten ist für PHP sehr wichtig. In diesem Artikel wird ausführlich erläutert, wie Daten über PHP MySQL gelesen werden.

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 richten wir die zu lesende SQL-Anweisung ein ID, Vorname und Nachname aus der MyGuests-Datentabelle. Drei Felder. 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);?>


PDO (+ Vorverarbeitung) verwenden

In den folgenden Beispielen werden vorbereitete Anweisungen verwendet.

Die Felder „ID“, „Vorname“ und „Nachname“ in der Tabelle „MyGuests“ 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>";?>

Dieser Artikel erklärt ausführlich, wie das geht Verwenden Sie PHP MySQL. Weitere Lernmaterialien finden Sie auf der chinesischen PHP-Website zum Lesen von Daten.

Verwandte Empfehlungen:

Verwandte Kenntnisse über vorbereitete PHP-MySQL-Anweisungen

So fügen Sie mehrere Datenelemente über PHP MySQL ein

So fügen Sie Daten über PHP MySQL ein

Das obige ist der detaillierte Inhalt vonSo lesen Sie Daten über PHP MySQL. 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