(PHP 4, PHP 5)
mysql_db_query — Selektiert ein Schema und führt in ihm Anfrage aus
Diese Funktion wurde in PHP 5.3.0 als veraltet gekennzeichnet und wurde in PHP 7.0.0 zusammen mit der gesamten ursprünglichen MySQL-Erweiterung entfernt. Stattdessen sollten die aktiv entwickelten Erweiterungen MySQLi oder PDO_MySQL verwendet werden. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ-Eintrag. Alternativen zu dieser Funktion umfassen:
$database
, string $query
[, resource $link_identifier
= NULL
] ) : resourcemysql_db_query() selektiert ein Schema und führt in ihm eine Anfrage aus.
database
Der Name des zu selektierenden Schemas.
query
Die MySQL Abfrage.
Daten innerhalb der Abfrage sollten korrekt maskiert sein.
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ückgabewert: Eine positive MySQL Ergebnis-Resource für das
Anfrageergebnis, oder FALSE
im Fehlerfall. Diese Funktion gibt
für INSERT/UPDATE/DELETE
Queries ebenfalls TRUE
/FALSE
zurück, um Erfolg/Misserfolg anzuzeigen.
Version | Beschreibung |
---|---|
5.3.0 | Diese Funktion löst nun eine E_DEPRECATED Warnung aus. |
Beispiel #1 mysql_db_query() Alternativbeispiel
<?php
if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
echo 'Keine Verbindung zu mysql';
exit;
}
if (!mysql_select_db('mysql_dbname', $link)) {
echo 'Konnte Schema nicht selektieren';
exit;
}
$sql = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);
if (!$result) {
echo "DB Fehler, konnte die Datenbank nicht abfragen\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row['foo'];
}
mysql_free_result($result);
?>
Hinweis:
Beachten Sie, dass diese Funktion NICHT zu der Datenbank zurückwechselt, mit der Sie sich zuvor verbunden hatten. In anderen Worten ausgedrückt: Sie können diese Funktion nicht benutzen, um temporär eine SQL-Query auf einer anderen Datenbank auszuführen. Sie müssen selbst (manuell) sicherstellen, dass Sie wieder Ihre vorherige Datenbank benutzen. Sie sollten sich angewöhnen in Ihren SQL-Queries die Schreibweise schema.tabelle oder mysql_select_db() zu verwenden statt diese Funktion zu benutzen.