Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

mysql_query

MySQL-Funktionen

    Befehl:
resource mysql_query ( string $query [, resource $Verbindungs-Kennung ] )


    Parameter-Liste:
NameBeschreibung
queryEine SQL Anweisung
Die Anweisung sollte nicht mit einem Semikolon abgeschlossen werden. Werte innerhalb der Abfrage sollten korrekt maskiert werden.
Verbindungs-KennungDie MySQL-Verbindung. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen. Falls keine solche Verbindung gefunden wird, wird versucht, eine Verbindung aufzubauen, wie es beim Aufruf von mysql_connect() ohne Angabe von Argumenten der Fall wäre. Falls zufällig keine Verbindung gefunden oder aufgebaut werden kann, wird eine Warnung der Stufe E_WARNING erzeugt.

    Rückgabewerte:
Für SELECT, SHOW, DESCRIBE, EXPLAIN und andere Anweisungen, die eine Ergebnismenge zurückgeben, gibt mysql_query() eine Kennung resource bei Erfolg zurück oder FALSE bei Fehlern.

Für alle anderen von SQL Anweisungen wie INSERT, UPDATE, DELETE, DROP, etc, gibt mysql_query() TRUE bei Erfolg zurück oder FALSE bei Fehlern.

Die zurückgegebene Ergebnis Ressource sollte an mysql_fetch_array() oder andere Funktionen, die mit Ergebnis Tabellen umgehen, übergeben werden, um auf die erhaltenen Daten zuzuzugreifen.

Nutzen sie mysql_num_rows() um zu erfahren, wieviele Zeilen für eine SELECT Anweisungen zurückgegeben wurden oder mysql_affected_rows() um zu erfahren, wieviele Zeilen von einer DELETE, INSERT, REPLACE oder UPDATE Anweisung betroffen waren.

mysql_query() wird ebenfalls fehlschlagen und FALSE zurückgeben, wenn der Nutzer nicht die Rechte hat, auf die Tabellen, die in der Anweisung referenziert wurden, zuzugreifen.

    Beschreibung:
mysql_query() sendet eine einzelne Abfrage (mehrere Abfragen werden nicht unterstützt) zu dem momentan aktiven Schema auf dem Server, der mit der übergebenen Verbings-Kennung Verbindungs-Kennung assoziiert ist.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Warnung:
Warnung:

Diese Erweiterung ist ab PHP 5.5.0 veraltet und wird in der Zukunft entfernt werden. Stattdessen wird der MySQLi oder PDO_MYSQL Verlängerung verwendet werden. Siehe auch MySQL: Auswahl einer API Führung und bezogenen FAQ für weitere Informationen. Alternativen zu dieser Funktion sind:

    Siehe auch:
Öffnet eine Verbindung zu einem MySQL-Server
 
Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
 
Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
 
Liefert Ergebnis
 
Liefert einen Datensatz als assoziatives Array
 
Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern.
 

mysql_query() - Beispiel: Ungültige Anfrage


Eingabe:
<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Ungültige Anfrage: ' . mysql_error());
}
?>

mysql_query() - Beispiel 2: Gültige Anfrage


Eingabe:
<?php
// Dies kömmze z.B. durch einen Nutzer angegeben werden
$firstname = 'fred';
$lastname  = 'fox';

// Formuliere Abfrage
// Dies ist die beste Art, eine SQL Abfrage duerchzuführen
// Für weitere Beispiele, siehe: mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends
    WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Führe Abfrage aus
$result = mysql_query($query);

// Prüfe Ergebnis
// Dies zeigt die tatsächliche Abfrage, die an MySQL gesandt wurde und den
// Fehler. Nützlich bei der Fehlersuche
if (!$result) {
    $message  = 'Ungültige Abfrage: ' . mysql_error() . "\n";
    $message .= 'Gesamte Abfrage: ' . $query;
    die($message);
}

// Nutze Ergebnis
// Der Versuch $result auszugeben, erlaubt keine Zugriff auf die Informationen
// der Ressource.
// Eine der MySQ result Funktionen muss genutzt werden
// Siehe auch: mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

// Gebe Ressourcen, die mit der Ergebnismenge assoziiert sind, frei
// Dies geshieht am Ende eines Skriptes automatisch
mysql_free_result($result);
?>

MySQL-Funktionen