mysql_query

(PHP 3, PHP 4 )

mysql_query -- Envia una sentencia SQL a MySQL

Descripción

int mysql_query ( string sentencia [, int identificador_de_enlace])

mysql_query() envia una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no es especificado un identificador_de_enlace, se asumira el ultilmo enlace abierto. Si no hay ningun enlace abierto, la función intenta estalecer un enlace como si se llamara función mysql_connect() sin argumentos, y lo utiliza.

La sentencia no puede terminar por punto y coma.

mysql_query() devuelve TRUE (no-cero) o FALSE para indicar si la sentencia se ha ejecutado correctamente o no. Un valor TRUE significa que la sentencia era correcta y pudo ser ejecutada en el servidor. No indica nada sobre el numero de fila devueltas. Es perfectamente posible que la sentencia se ejecute correctamente pero que no devuelve ninguna fila.

La siguiente sentencia es invalida sintacticamente, asi que mysql_query() falla y devuelve FALSE:

Ejemplo 1. mysql_query()

<?php
$result = mysql_query ("SELECT * WHERE 1=1")
    or die ("Invalid query");
?>

La siguiente sentencia es invalida semanticamente si my_col no es una columna de la tabla my_tbl, asi que mysql_query() falla y devuelve FALSE:

Ejemplo 2. mysql_query()

<?php
$result = mysql_query ("SELECT my_col FROM my_tbl")
    or die ("Invalid query");
?>

mysql_query() fallara tambien y devolvera FALSE si no se tiene el permiso de acceso a la tabla especificada en la sentencia.

Asumiendo la sentencia tenga exito, se puede llamar a mysql_affected_rows() para saber cuantas filas fueron afectadas (para DELETE, INSERT, REPLACE, o UPDATE ) Para las sentencias SELECT, mysql_query() devuelve un nuevo identificador de resultado que se puede pasar a mysql_result(). Cuando se acabe de utilizar el resultado, se pueden liberar los recursos asociados utilizando mysql_free_result().

Ver también: mysql_affected_rows(), mysql_db_query(), mysql_free_result(), mysql_result(), mysql_select_db(), and mysql_connect().