(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 será eliminada en el futuro, junto con la totalidad de la extensión original de MySQL. Deberían utilizarse en su lugar las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:
$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 el
identificador de enlace no se especifica, el último enlace abierto por
mysql_connect() es asumido. Si no se encuentra dicho enlace, la
función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado
sin parámetros. Si no se encuentra o establece una conexión, un error de nivel
E_WARNING
es generado.
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.