(PHP 4, PHP 5)
mysql_db_query — Wählt eine Datenbank aus und führt darauf eine Abfrage 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 bietet der Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:
mysql_db_query() wählt eine Datenbank aus und führt eine Abfrage darauf aus.
database
Der Name der auszuwählenden Datenbank.
query
Die MySQL-Abfrage.
Die Daten innerhalb der Abfrage sollten korrekt maskiert sein.
link_identifier
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.
Gibt eine positive MySQL-Ergebnisressource für das Abfrageergebnis zurück
oder false
im Fehlerfall. Diese Funktion gibt für
INSERT
-, UPDATE
- und
DELETE
-Abfragen ebenfalls true
/false
zurück, um
Erfolg/Misserfolg anzuzeigen.
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 die Datenbank nicht auswählen';
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. Mit anderen Worten ausgedrückt: Sie können diese Funktion nicht verwenden, um temporär eine SQL-Abfrage auf einer anderen Datenbank auszuführen. Sie müssen selbst (manuell) sicherstellen, dass Sie wieder Ihre vorherige Datenbank verwenden. Sie sollten sich angewöhnen, statt dieser Funktion in Ihren SQL-Abfragen die Schreibweise
datenbank.tabelle
oder die Funktion mysql_select_db() zu verwenden.