2. MySQL: Conexión a MySQL desde PHP
Contenidos
1 Conexiones a BD
2 Envío de datos de PHP a MySQL
3 Acceso a datos de MySQL desde PHP
4 Funciones de PHP para MySQL
5 Ejercicios
2
3. MySQL: Conexión a MySQL desde PHP
1 Conexiones a BD
Estados de una conexión
Función connection_status()
Normal (0)
Aborted (1)
Timeout (2)
set_time_limit()
Procedimiento de acceso a una base de datos
conectar a servidor de bases de datos
seleccionar base de datos
realizar consulta
cerrar la conexión
3
4. MySQL: Conexión a MySQL desde PHP
2 Envío de datos de PHP a MySQL (i)
Formulario HTML para recogida de datos
<html>
<body>
<form action=submitform.php3 method=GET>
First Name: <input type=text name=first_name
size=25 maxlength=25>
Last Name: <input type=text name=last_name
size=25 maxlength=25>
<p>
<input type=submit>
</form>
</body>
</html>
4
5. MySQL: Conexión a MySQL desde PHP
2 Envío de datos de PHP a MySQL (ii)
Script PHP (submitform.php3)
<html> <body>
<?php
mysql_connect (localhost, username, password);
mysql_select_db (dbname);
mysql_query (
"INSERT INTO tablename (first_name, last_name)
VALUES ('$first_name', '$last_name')"
);
print ($first_name); print (" ");
print ($last_name); print ("<p>");
print ("Thanks for submitting your name.");
?>
</body> </html>
5
6. MySQL: Conexión a MySQL desde PHP
3 Acceso a datos de MySQL desde PHP (i)
Formulario HTML para búsqueda indexada
<html><body>
<form action=searchform.php method=GET>
Search For: <p>
First Name: <input type=text name=first_name
size=25 maxlength=25><p>
Last Name: <input type=text name=last_name
size=25 maxlength=25><p>
<input type=submit>
</form>
</body></html>
6
7. MySQL: Conexión a MySQL desde PHP
3 Acceso a datos de MySQL desde PHP (ii)
Script PHP (searchform.php)
<html>
<body>
<?php
mysql_connect (localhost, username, password);
mysql_select_db (dbname);
if ($first_name == "") { $first_name = '%'; }
if ($last_name == "") { $last_name = '%'; }
$result = mysql_query (
"SELECT * FROM tablename
WHERE first_name LIKE '$first_name%'
AND last_name LIKE '$last_name%'"
);
if ($row = mysql_fetch_array($result)) {
do {
print $row["first_name"];
print (" ");
print $row["last_name"];
print ("<p>");
} while($row = mysql_fetch_array($result));
} else {print "Sorry, no records were found!";}
?>
</body>
</html>
7
8. MySQL: Conexión a MySQL desde PHP
3 Acceso a datos de MySQL desde PHP (iii)
Consideraciones
mysql_fetch_array()
Extrae la primera fila de los resultados de una consulta
Sucesivas llamadas con el mismo argumento proporcionan las
siguientes filas de la consultas
8
9. MySQL: Conexión a MySQL desde PHP
4 Funciones de PHP para MySQL (i)
mysql_affected_rows: Obtiene el número de filas modificadas
en la última operación MySQL.
mysql_change_user: Modifica el usuario responsable de las
operaciones.
mysql_close: Cierra la conexión MySQL.
mysql_connect: Abre una conexión con un servidor de
MySQL.
mysql_create_db: Crea una BD en el gestor de Bases de
Datos.
mysql_data_seek: Realiza un movimiento en el puntero de los datos
resultado.
mysql_db_query: Realiza una consulta a una BD.
mysql_drop_db: Realiza una operación drop sobre una base de
datos.
mysql_errno: Devuelve un código de error relacionado con la última
operación MySQL realizada.
9
10. MySQL: Conexión a MySQL desde PHP
4 Funciones de PHP para MySQL (ii)
mysql_error: Devuelve el mensaje de error asociado a un
código concreto relacionado con la última operación MySQL
realizada.
mysql_fetch_array: Introduce el resultado en un array
asociativo.
mysql_fetch_field: Devuelve un objeto con la información de
un resultado.
mysql_fetch_lengths: Obtener la longitud de los resultados.
mysql_fetch_object: Devuelve el resultado como un objeto.
mysql_fetch_row: Devuelve el resultado como un array.
mysql_field_name: Devuelve el nombre de un campo
especificado en un resultado.
mysql_field_seek: Asigna el puntero de los resultados a una
posición determinada.
mysql_field_table: Obtiene el nombre de la tabla de un campo
especificado.
10
11. MySQL: Conexión a MySQL desde PHP
4 Funciones de PHP para MySQL (iii)
mysql_field_type: Obtiene el tipo de un campo especificado.
mysql_field_flags: Obtiene los flags asociados del campo
especificado.
mysql_field_len: Obtiene la longitud de un campo
especificado.
mysql_free_result: Libera la memoria de los resultados.
mysql_insert_id: Obtiene el identificador de la última
operación insert.
mysql_list_fields: Lista los campos resultado.
mysql_list_dbs: Lista las BD disponibles en el servidor
MySQL.
mysql_list_tables: Lista las tablas de una BD MySQL.
mysql_num_fields: Obtiene el número de campos del
resultado.
mysql_num_rows: Obtiene el número de filas del resultado.
11
12. MySQL: Conexión a MySQL desde PHP
4 Funciones de PHP para MySQL (iv)
mysql_pconnect: Abre una conexión permanente con una BD.
mysql_query: Envía una consulta SQL a MySQL.
mysql_result: Obtiene los datos resultado.
mysql_select_db: Selecciona una base de datos MySQL.
mysql_tablename: Obtiene el nombre de la tabla a la que
pertenece el campo indicado.
12
13. MySQL: Conexión a MySQL desde PHP
5 Ejercicios (i)
Utilizando la BD personal (tablas dvds y cuentas)
Crear una página (HTML+PHP) con un formulario que
permita introducir datos
Por ejemplo, insertar movimientos en cuentas
Mostrar en una página (HTML+PHP) un listado de
datos de alguna tabla
Por ejemplo, listar los dvds de un determinado autor
13
14. MySQL: Conexión a MySQL desde PHP
5 Ejercicios (ii)
Crear una página HTML con un formulario que
constituya una consola desde la que lanzar
comandos a MySQL
Debe solicitar el nombre del host, la autentificación
del usuario (login, password) y el nombre de la BD
Debe contener un área de texto donde escribir el
comando a ejecutar desde PHP
14