MySQL con PHPMySQL con PHP
TIC 2008 TIC 2008
(Programación en Internet con (Programación en Internet con herramientas de código abierto)herramientas de código abierto)
Escuela Técnica ORTEscuela Técnica ORT
Sede AlmagroSede Almagro
Tablas MyISAM o InnoDBTablas MyISAM o InnoDB
Tipos de datos: Tipos de datos: char, varcharchar, varchar integer y sus 4 tiposinteger y sus 4 tipos float, decimalfloat, decimal text y sus variantestext y sus variantes date y sus variantesdate y sus variantes boolean boolean blobblob
Conectar y desconectarConectar y desconectar
mysql_connectmysql_connect int mysql_connect(string $hostname , string int mysql_connect(string $hostname , string
$username , string $password);$username , string $password); Devuelve: un “link identifier” o puntero a la Devuelve: un “link identifier” o puntero a la
conexión si se ha conectado correctamente, conexión si se ha conectado correctamente, FALSE en caso de error.FALSE en caso de error.
mysql_closemysql_close int mysql_close(int $link_identifier);int mysql_close(int $link_identifier); Devuelve: TRUE si se ha cerrado correctamente, Devuelve: TRUE si se ha cerrado correctamente,
FALSE en caso de error.FALSE en caso de error.
Seleccionar una dbSeleccionar una db
mysql_select_dbmysql_select_db int mysql_select_db(int mysql_select_db(string $dbname, [int string $dbname, [int
$link_identifier]); $link_identifier]);
Permite seleccionar la base de datos a utilizar Permite seleccionar la base de datos a utilizar en la conexión actual. Devuelve: si se ha en la conexión actual. Devuelve: si se ha podido realizar la acciónpodido realizar la acción
Consultas a la dbConsultas a la db
mysql_querymysql_query int mysql_query(string $query, [int int mysql_query(string $query, [int
$link_identifier]);$link_identifier]); Devuelve: un resultado (puntero a los registros Devuelve: un resultado (puntero a los registros
obtenidos) si se ha podido realizar la consulta.obtenidos) si se ha podido realizar la consulta. mysql_free_resultmysql_free_result
int mysql_select_db(int mysql_select_db(int $result); int $result); Libera los recursos descartando el resultado Libera los recursos descartando el resultado
obtenido. Devuelve: si se ha podido realizar la obtenido. Devuelve: si se ha podido realizar la acciónacción
Recuperando datos del recordsetRecuperando datos del recordset
mysql_fetch_arraymysql_fetch_array arrayarray mysql_fetch_array(int $result); mysql_fetch_array(int $result);
Es una versión extendida de mysql_fetch_rows Es una versión extendida de mysql_fetch_rows ya que retorna una matriz asociativaya que retorna una matriz asociativa
mysql_fetch_objectmysql_fetch_object objectobject mysql_fetch_object (int result); mysql_fetch_object (int result);
Permite acceder al resultado como objetos (->)Permite acceder al resultado como objetos (->)
Funciones PHP de acceso a Funciones PHP de acceso a MySQL MySQL
mysql_affected_rowsmysql_affected_rows int mysql_affected_rows([int $link_identifier] );int mysql_affected_rows([int $link_identifier] );
Devuelve: el número de filas afectadas en el Devuelve: el número de filas afectadas en el último INSERT, UPDATE o DELETEúltimo INSERT, UPDATE o DELETE
Funciones PHP de acceso a Funciones PHP de acceso a MySQL MySQL
mysql_num_rowsmysql_num_rows int mysql_num_rows(int $result);int mysql_num_rows(int $result);
Devuelve: el número de filas existentes en el Devuelve: el número de filas existentes en el resultado del último SELECT solicitadoresultado del último SELECT solicitado
Manejo de erroresManejo de errores
mysql_errnomysql_errno int mysql_errno();int mysql_errno(); Devuelve el número de error asociado a la última Devuelve el número de error asociado a la última
operación realizada. operación realizada.
mysql_errormysql_error string mysql_error();string mysql_error(); Devuelve el texto asociado al error producido en la Devuelve el texto asociado al error producido en la
última operación realizada por la base de datos. última operación realizada por la base de datos.
Información autoincrementInformación autoincrement
mysql_insert_id()mysql_insert_id() int mysql_int mysql_insert_id()insert_id();; Devuelve el último ID de un campo autonuméricoDevuelve el último ID de un campo autonumérico
Ejemplo: secuencia para mostrar Ejemplo: secuencia para mostrar los datos de una tablalos datos de una tabla
1.1. Establecer la conexión al servidor de base de datosEstablecer la conexión al servidor de base de datos2.2. Seleccionar la base de datosSeleccionar la base de datos3.3. Enviar un query y obtener el identificador al resultadoEnviar un query y obtener el identificador al resultado4.4. Recorrer el resultado como un arreglo, objetos o arreglos asoc.Recorrer el resultado como un arreglo, objetos o arreglos asoc.5.5. Crear tabla HTMLCrear tabla HTML6.6. Recorrer las filas obtenidas encerrarlas entre <TR></TR>Recorrer las filas obtenidas encerrarlas entre <TR></TR>7.7. Por cada fila, mostrar los campos sucesivos entre pares Por cada fila, mostrar los campos sucesivos entre pares
<TD></TD><TD></TD>8.8. Cerrar la tabla HTMLCerrar la tabla HTML9.9. Liberar el resultadoLiberar el resultado10.10. Cerrar la conexión a la base de datosCerrar la conexión a la base de datos
Uso de mysql fetch array Uso de mysql fetch array suponemos que ya tengo asignadas las variables $host, $user, $password y suponemos que ya tengo asignadas las variables $host, $user, $password y
$dbname$dbname
<?php<?php$canal= mysql_connect(“localhost”, “BM6C_dni”, ”mi pwd”);$canal= mysql_connect(“localhost”, “BM6C_dni”, ”mi pwd”);$db=mysqL_select_db($dbname$db=mysqL_select_db($dbname););
$result = mysqli_db_query("select * from table“, $canal);$result = mysqli_db_query("select * from table“, $canal);while($row = mysql_fetch_array($result)) {while($row = mysql_fetch_array($result)) { echo $row["user_id"];echo $row["user_id"];
echo $row["fullname"];echo $row["fullname"];}}mysql_free_result($result);mysql_free_result($result);mysql_close($canal);mysql_close($canal);
?> ?>
Uso de mysql fetch object Uso de mysql fetch object
<?php<?php$canal= mysql_connect($host, $user, $password);$canal= mysql_connect($host, $user, $password);$db=mysqL_select_db($dbname$db=mysqL_select_db($dbname););
$result = mysql_query("select * from table“, $canal);$result = mysql_query("select * from table“, $canal); while($row = mysql_fetch_object($result)) { while($row = mysql_fetch_object($result)) {
echo $row->user_id; echo $row->user_id; echo $row->fullname; echo $row->fullname;
} } mysql_free_result($result); mysql_free_result($result); mysql_close($canal); mysql_close($canal);
?> ?>