(PHP 4, PHP 5)
mysql_db_query — Sélectionne une base de données et y exécute une requête
Alternatives suggérées
L'utilisation de cette extension est déconseillée. A la place, l'extension MySQLi ou PDO_MySQL devrait être utilisée. Voir aussi le guide MySQL : choisir une API ainsi que la FAQ associée pour plus d'informations. Les alternatives à cette fonction incluent :
- mysqli_select_db() puis la requête
- PDO::__construct()
$database
, string $query
[, resource $link_identifier
= NULL
] )mysql_db_query() sélectionne une base de données et exécute une requête sur celle-ci.
Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.
database
Le nom de la base de données qui sera sélectionnée.
query
La requête MySQL.
Les données contenues dans la requête doivent être proprement échappées.
link_identifier
La connexion MySQL.
S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction
mysql_connect() sera utilisée. Si une telle connexion
n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si
la fonction mysql_connect() avait été appelée sans argument.
Si aucune connexion n'est trouvée ou établie, une alerte
E_WARNING
est générée.
Retourne une ressource de résultat positive MySQL à partir de la requête ou
FALSE
en cas d'erreur. Cette fonction retourne aussi TRUE
/FALSE
pour
les requêtes
INSERT/UPDATE/DELETE
pour indiquer une réussite ou un échec.
Version | Description |
---|---|
5.3.0 | Cette fonction lance maintenant une alerte de type E_DEPRECATED. |
4.0.6 | Cette fonction est obsolète depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place. |
Exemple #1 Exemple alternatif avec mysql_db_query()
<?php
if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
echo 'Connexion impossible à mysql';
exit;
}
if (!mysql_select_db('mysql_dbname', $link)) {
echo 'Sélection de base de données impossible';
exit;
}
$sql = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);
if (!$result) {
echo "Erreur DB, impossible d'effectuer une requête\n";
echo 'Erreur MySQL : ' . mysql_error();
exit;
}
while ($row = mysql_fetch_assoc($result)) {
echo $row['foo'];
}
mysql_free_result($result);
?>
Note:
Soyez avertis que cette fonction ne restaure pas la base de données qui était utilisée initialement. En d'autres termes, vous ne pouvez utiliser cette fonction pour exécuter temporairement une requête SQL dans une autre base de données, il vous faudra sélectionner manuellement la bonne base à nouveau. Il est fortement recommandé d'utiliser la syntaxe SQL database.table ou mysql_select_db() au lieu de cette fonction.