mysql_db_query
(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:
- mysqli_select_db() y luego la consulta
- PDO::__construct()
Descripción
$database
, string $query
[, resource $link_identifier = NULL
] )mysql_db_query() selecciona una base de datos y ejecuta una consulta en ella.
Parámetros
-
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_WARNINGes generado.
Valores devueltos
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.
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.3.0 | Ésta función ahora lanza ahora un aviso E_DEPRECATED. |
Ejemplos
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);
?>
Notas
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.
Ver también
- mysql_query() - Enviar una consulta MySQL
- mysql_select_db() - Seleccionar una base de datos MySQL