mysql_query
(PHP 4, PHP 5)
mysql_query — Sendet eine Anfrage an MySQL
Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:
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
Verbindungs-Kennung Verbindungs-Kennung
assoziiert ist.
Parameter-Liste
-
query
-
Eine SQL Anweisung
Die Anweisung sollte nicht mit einem Semikolon abgeschlossen werden. Werte innerhalb der Abfrage sollten korrekt maskiert werden.
-
Verbindungs-Kennung
-
Die 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.
Beispiele
Beispiel #1 Ungültige Anfrage
Die folgende Anfrage ist syntaktisch falsch, deshalb liefert
mysql_query() FALSE
zurück:
<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Ungültige Anfrage: ' . mysql_error());
}
?>
Beispiel #2 Gültige Anfrage
Die folgende Abfrage ist gültig, daher gibt mysql_query() ein Ergebnis resource zurück.
<?php
// Dies können Sie z.B. durch einen Nutzer angegeben werden
$firstname = 'fred';
$lastname = 'fox';
// Formuliere Abfrage
// Dies ist die beste Art, eine SQL Abfrage durchzufü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 MySQL 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 geschieht am Ende eines Skriptes automatisch
mysql_free_result($result);
?>
Siehe auch
- mysql_connect() - Öffnet eine Verbindung zu einem MySQL-Server
- mysql_error() - Liefert den Fehlertext der zuvor ausgeführten MySQL Operation
- mysql_real_escape_string() - Maskiert spezielle Zeichen innerhalb eines Strings für die Verwendung in einer SQL-Anweisung
- mysql_result() - Liefert Ergebnis
- mysql_fetch_assoc() - Liefert einen Datensatz als assoziatives Array
- mysql_unbuffered_query() - Sendet eine SQL Anfrage an MySQL, ohne Ergebniszeilen abzuholen und zu puffern
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-mysql-query.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.