(PHP 4, PHP 5)
mysql_db_query — Selecciona una base de datos y ejecuta una consulta sobre la misma
Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse 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.
Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.
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. |
4.0.6 | Esta función es obsoleta, no utilice esta función. Use mysql_select_db() y mysql_query() en su lugar. |
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.