mysql_db_query
(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 finden Sie im Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:
- mysqli_select_db() then the query
- PDO::__construct()
Beschreibung
$database
, string $query
, resource $link_identifier
= NULL): resource|boolmysql_db_query() wählt eine Datenbank aus und führt eine Abfrage darauf aus.
Parameter-Liste
-
database
-
Der Name der auszuwählenden Datenbank.
-
query
-
Die MySQL-Abfrage.
Die 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ückgabewerte
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.
Beispiele
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);
?>
Anmerkungen
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.
Siehe auch
- mysql_query() - Sendet eine Abfrage an MySQL
- mysql_select_db() - Wählt eine MySQL-Datenbank aus