(PHP 4, PHP 5)
mysql_db_query — Selecciona una base de datos y ejecuta una consulta sobre la misma
Esta función está obsoleta en PHP 5.3.0, por lo que ha sido eliminada, junto a la totalidad de la extensión original de MySQL, en PHP 7.0.0. En su lugar, utilice las extensiones MySQLi o PDO_MySQL activamente desarrolladas. Véase también la guía MySQL: elegir una API y sus P+F relacionadas para más información. Las alternativas a esta función son:
$database
, string $query
[, resource $link_identifier
= NULL
] )mysql_db_query() selecciona una base de datos y ejecuta una consulta en ella.
database
El nombre de la base de datos que va a ser seleccionada.
query
La consulta MySQL.
Los datos dentro de la consulta deben ser escapados apropiadamente.
link_identifier
La conexión MySQL. Si no
se especifica el identificador de enlace, se asume el último enlace abierto
por mysql_connect(). Si no se encuentra este enlace, se
intentará crear un nuevo enlace como si mysql_connect() hubiese sido invocada
sin argumentos. Si no se encuentra o establece ninguna conexión, se genera un error
de nivel E_WARNING
.
Devuelve un recurso de resultados de MySQL positivo al resultado de la consulta,
o FALSE
en caso de error. La función también retorna TRUE
/FALSE
para las consultas
INSERT/UPDATE/DELETE
indicando éxito/fallo.
Versión | Descripción |
---|---|
5.3.0 | Ésta función ahora lanza ahora un aviso E_DEPRECATED. |
Ejemplo #1 Ejemplo alternativo de mysql_db_query()
<?php
if (!$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql')) {
echo 'No pudo conectarse a mysql';
exit;
}
if (!mysql_select_db('nombre_bd_mysql', $enlace)) {
echo 'No pudo seleccionar la base de datos';
exit;
}
$sql = 'SELECT foo FROM bar WHERE id = 42';
$resultado = mysql_query($sql, $enlace);
if (!$resultado) {
echo "Error de BD, no se pudo consultar la base de datos\n";
echo "Error MySQL: ' . mysql_error();
exit;
}
while ($fila = mysql_fetch_assoc($resultado)) {
echo $fila['foo'];
}
mysql_free_result($resultado);
?>
Nota:
Se ha de tener en cuenta que ésta función NO vuelve a la base de datos a la que se estaba conectado anteriormente. En otras palabras, no se puede utilizar ésta función para ejecutar temporalmente una consulta SQL en otra base de datos; se tendría que hacer el cambio manualmente. Se recomienda encarecidamente usar la sintaxis basedatos.tabla en las consultas SQL o mysql_select_db() en lugar de esta función.