English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL-Daten abfragen

Die MySQL-Datenbank verwendet die SQL SELECT-Anweisung, um Daten abzurufen.

Sie können Daten in der Datenbank mit dem mysql>-Befehlszeilenfenster abfragen oder mit einem PHP-Skript.

Syntax

Nachfolgend ist die allgemeine SELECT-Syntax zur Datenabfrage in der MySQL-Datenbank aufgeführt:

SELECT column_name, column_name
FROM table_name
[WHERE Klausel]
[LIMIT N][ OFFSET M]
  • In der Abfrageanweisung können Sie eine oder mehrere Tabellen verwenden, die durch Kommas (,) getrennt sind, und die Abfragebedingungen mit dem WHERE-Ausdruck festlegen.

  • Der SELECT-Befehl kann ein oder mehrere Zeilen lesen.

  • Sie können das Sternchen (*anstatt anderer Felder verwenden, so gibt die SELECT-Anweisung alle Daten der Tabelle zurück

  • Sie können einen WHERE-Ausdruck verwenden, um jede Bedingung zu enthalten.

  • Sie können die Eigenschaft LIMIT verwenden, um die Anzahl der zurückgegebenen Zeilen zu bestimmen.

  • Sie können mit OFFSET die Datenverschiebung für die SELECT-Anweisung angeben. Standardmäßig ist der Verschiebungsindex 0.

Daten mit dem Befehlszeilen-Protokoll abrufen

Wir werden die MySQL-Daten der Tabelle w3codebox_tbl zurück:

Online example

Das folgende Beispiel gibt die Daten der Tabelle w3Parameters display the table w

auswählen * von w3codebox_tbl;

Ausgabeergebnis:

Daten mit einem PHP-Skript abrufen

Daten mit dem PHP-Funktion mysqli_query() und dem SQL SELECT-Befehl abrufen.

Diese Funktion führt SQL-Befehle aus und gibt die Ergebnisse durch die PHP-Funktion mysqli_fetch_array() zurück alle Daten der Abfrage verwenden oder ausgeben können.

Die Funktion mysqli_fetch_array()  nimmt eine Zeile aus dem Ergebnissatz als verknüpftes Array, oder als numerisches Array, oder beides, ab. Liefert ein Array, das aus den Zeilen des Ergebnissatzes generiert wurde, oder false, wenn keine weiteren Zeilen vorhanden sind.

Das folgende Beispiel zeigt, wie Daten der Tabelle w3alle Einträge von codebox_tbl auszulesen.

Online example

Versuchen Sie den folgenden Beispiel, um Daten der Tabelle w3alle Einträge von codebox_tbl.

Verwenden Sie den Parameter MYSQLI_ASSOC von mysqli_fetch_array, um Daten zu erhalten:

<?php
$dbhost = 'localhost';  // MySQL server host address
$dbuser = 'root';            // MySQL username
$dbpass = '123456;          // MySQL username and password
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('Connection failed: ' . mysqli_error($conn));
}
// Set encoding to prevent Chinese garbled characters
mysqli_query($conn, "set names utf8;
 
$sql = 'SELECT w3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3;
 
mysqli_select_db($conn, 'w3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('Daten können nicht gelesen werden: ' . mysqli_error($conn));
}
echo '<h2>Grund教程 mysqli_fetch_array Test</h2">;</table>
echo '<table border="1><tr><td>Lehrmaterial-ID</td><td>Titel</td><td>Autor</td><td>Einreichungsdatum</td></tr>";
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
    while($row = mysqli_fetch_assoc($retval))3echo "<tr><td> {$row['w/td> ".
         codebox_title']} <3codebox_id'}</td> ".
         codebox_title']} <3"<td>{$row['w/td> ".
         codebox_author'} </td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Die Ausgabe ist wie folgt:

In den obigen Beispielen wird jedes gelesene Zeilenrecord der Variable $row zugewiesen und dann jeder Wert ausgegeben.

Hinweis:Denken Sie daran, dass Sie Variablen in eckige Klammern setzen müssen, wenn Sie sie in einer Zeichenkette verwenden möchten.

Im obigen Beispiel ist der zweite Parameter der Funktion PHP mysqli_fetch_array() MYSQLI_ASSOC, Setzt diesen Parameter, um die Rückgabe des Abfrageergebnisses als verknüpftes Array zu konfigurieren, Sie können den Feldnamen als Index des Arrays verwenden.

PHP bietet eine weitere Funktion mysqli_fetch_assoc(), das eine Zeile aus dem Ergebnissatz als verknüpftes Array abruft. Liefert ein verknüpftes Array, das aus den Zeilen des Ergebnissatzes generiert wurde, oder false, wenn keine weiteren Zeilen vorhanden sind.

Online example

Versuchen Sie den folgenden Beispiel, das die mysqli_fetch_assoc() 函数来输出数据表 w3The function to output the table w

All records of codebox_tbl

<?php
$dbhost = 'localhost:3306;  // MySQL server host address
$dbuser = 'root';            // MySQL username
$dbpass = '123456;          // MySQL username and password
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('Connection failed: ' . mysqli_error($conn));
}
// Set encoding to prevent Chinese garbled characters
mysqli_query($conn, "set names utf8;
 
$sql = 'SELECT w3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3;
 
mysqli_select_db($conn, 'w3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('Daten können nicht gelesen werden: ' . mysqli_error($conn));
}
echo '<h2Use mysqli_fetch_assoc to get data:/h2">;</table>
echo '<table border="1><tr><td>Lehrmaterial-ID</td><td>Titel</td><td>Autor</td><td>Einreichungsdatum</td></tr>";
>Basic tutorial mysqli_fetch_assoc test<
{
    while($row = mysqli_fetch_assoc($retval))3echo "<tr><td> {$row['w/td> ".
         codebox_title']} <3codebox_id'}</td> ".
         codebox_title']} <3"<td>{$row['w/td> ".
         codebox_author'} </td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

"<td>{$row['submission_date']} <

The output result is as follows:

Online example

You can also use the constant MYSQLI_NUM as the second parameter of the PHP mysqli_fetch_array() function to return a numeric array. The following example uses MYSQLI_NUM3Parameters display the table w

All records of codebox_tbl

<?php
$dbhost = 'localhost:3306;  // MySQL server host address
$dbuser = 'root';            // MySQL username
$dbpass = '123456;          // MySQL username and password
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('Connection failed: ' . mysqli_error($conn));
}
// Set encoding to prevent Chinese garbled characters
mysqli_query($conn, "set names utf8;
 
$sql = 'SELECT w3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3;
 
mysqli_select_db($conn, 'w3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('Daten können nicht gelesen werden: ' . mysqli_error($conn));
}
echo '<h2>Grund教程 mysqli_fetch_array Test</h2">;</table>
echo '<table border="1><tr><td>Lehrmaterial-ID</td><td>Titel</td><td>Autor</td><td>Einreichungsdatum</td></tr>";
while($row = mysqli_fetch_array($retval, MYSQLI_NUM))
{
    echo "<tr><td> {$row[0]}</td> ".
         "<td>{$row[1}</td></td> ".
         "<td>{$row[2}</td></td> ".
         "<td>{$row[3}</td></td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

Die Ausgabe ist wie folgt:

Use mysqli_fetch_array with MYSQLI_NUM parameter to get data:

The output results of the above three examples are the same.

Memory release

Releasing cursor memory after executing the SELECT statement is a good habit.

The following examples demonstrate how to use this function.

Online example

Try the following examples:

Use mysqli_free_result to release memory:

<?php
$dbhost = 'localhost:3306;  // MySQL server host address
$dbuser = 'root';            // MySQL username
$dbpass = '123456;          // MySQL username and password
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('Connection failed: ' . mysqli_error($conn));
}
// Set encoding to prevent Chinese garbled characters
mysqli_query($conn, "set names utf8;
 
$sql = 'SELECT w3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3;
 
mysqli_select_db($conn, 'w3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('Daten können nicht gelesen werden: ' . mysqli_error($conn));
}
echo '<h2>Grund教程 mysqli_fetch_array Test</h2">;</table>
echo '<table border="1><tr><td>Lehrmaterial-ID</td><td>Titel</td><td>Autor</td><td>Einreichungsdatum</td></tr>";
while($row = mysqli_fetch_array($retval, MYSQLI_NUM))
{
    echo "<tr><td> {$row[0]}</td> ".
         "<td>{$row[1}</td></td> ".
         "<td>{$row[2}</td></td> ".
         "<td>{$row[3}</td></td> ".
         "</tr>";
}
echo '</table>';
// Speicher freigeben
mysqli_free_result($retval);
mysqli_close($conn);
?>

Die Ausgabe ist wie folgt: