Ejecutar una consulta sobre la base de datos

En primer lugar deberemos establecer la consulta, en nuestro caso un SELECT como el siguiente:

$consulta = " SELECT L.isbn, L.titulo, L.precio, A.nombre as autor " .
   " FROM libros as L, autores as A, libros_autores as LA " .
   " WHERE L.id = LA.fk_libros AND " . " A.id = LA.fk_autores " .
   " ORDER BY L.titulo";

Aunque también podremos realizar consultas de acción como INSERT, DELETE o UPDATE.

Para pasar una consulta SQL usaremos la siguiente función:

resource mysql_query( string $query [, resource $identificador_de_enlace] )

Para más información del tipo recurso accede al manual de PHP. La url es esta: http://docs.php.net/manual/es/function.mysql-query.php

$result = mysql_query($consulta, $db);

La consulta no tiene porque terminar en ';'; como cuando las hacemos desde la consola de comandos de MySQL.

El manual de PHP nos advierte que esta función devolverá **false** en caso no haber podido realizar la consulta (error en el SQL u otros).
Una forma útil de comprobar si el SQL enviado es correcto es comprobar si la variable $result es igual a FALSE. Si lo es mostraríamos el mensaje de error devuelto por MySQL.

En caso de éxito puede devolver dos cosas:

  • true en el caso de que las consultas sean instrucciones de tipo INSERT, UPDATE o DELETE (Action Querys) sobre la base de datos.

    En estos casos podremos usar la función int mysql_affected_rows ([int identificador_de_enlace] ) para obtener el número de filas afectadas tras la última operación.

  • resource con los resultados de la consulta, en el caso de sentencias SELECT,SHOW, DESCRIBE o EXPLAIN.

No dispondremos en esta extensión de ningún tipo de control sobre transacciones.

results matching ""

    No results matching ""