Está en la página 1de 6

PHP - MySQL

(I.T. Istmo)

Objetivo
Utilizar PHP para integrar informacin de MySQL en las pginas Web.

Funciones de PHP para interactuar con MySQL


PHP cuenta con varias funciones para contactarse con MySQL, entre las ms comunes estn las siguientes:

mysql_connect()
Establece una conexin con el servidor de MySQL, utiliza tres parmetros: mysql_connect(servidor-mysql, usuario, password) Si se conecta con el servidor regresa un identificador de la conexin, de lo contrario regresa un NULL, ejemplo: $conexion = mysql_connect("locahost", "root", "digitever");

mysql_close()
Regularmente al terminarse de ejecutar la pagina php las conexiones abiertas con MySQL se cierran automaticamente; si queremos cerrar la conexin antes podemos utilizar esta funcin. Regresa un true si la conexin se cierra, false de lo contrario. Su sintaxis es la siguiente: mysql_close($conexion);

mysql_select_db()
Selecciona una bases de datos, regresa true si logra utilizar la base de datos, false de lo contrario. La sintaxis es: mysql_select_db("base-datos", $conexion);

mysql_query()
Envi sentecias SQL al servidor de MySQL, para sentencias diferentes al SELECT regresa un true o false.Para las sentencias SELECT regresa un identificador con los resultados de la sentencia. La sintaxis es: $registros = mysql_query("estatuto sql", $conexion);

mysql_affected_rows()
Regresa el nmero de registros que fueron afectados por los estatutos INSERT, UPDATE o DELETE. La sintaxis es: mysql_affected_rows($conexion);

PHP - MySQL

(I.T. Istmo)

mysql_num_rows()
Retorna el nmero de registros que regresa la sentencia SELECT. La sintaxis es: mysql_num_rows($registros);

mysql_result()
Se utiliza para obtener el valor de un solo campo proveniente de mysql_query(). mysql_result($registros,numero-de-registro,campo);

mysql_fetch_object()
Crea un objeto cuyas propiedades corresponden a los campos de los registros, cuando ya no hay mas registros regresa un false. mysql_fetch_object($registros);

mysql_fetch_row()
Similar a mysql_fetch_object() pero regresa los valores de los campos en un arreglo indexado numricamente. mysql_fetch_row($registros);

mysql_fetch_assoc()
Similar a mysql_fetch_row() pero regresa los valores de los campos en un arreglo indexado por nombre. mysql_fetch_assoc($registros);

mysql_free_result()
Libera los recursos que utilizados por los registros obtenidos, si no se utiliza esta funcin los recursos son liberados automticamente al terminar de procesar la pagina. mysql_free_result($registros);

mysql_insert_id()
Un campo con el atributo AUTO_INSERT se incrementa automticamente cuando se inserta un nuevo registro en la tabla mysql_insert_id() regresa el valor generado. mysql_insert_id($conexion);

PHP - MySQL

(I.T. Istmo)

Ejemplos

Conectarse con el servidor y seleccionar base de datos


$conexion = mysql_connect("localhost","root","digitever"); $seleccionaBD = mysql_select_db("cursophp", $conexion);

Ejecutar un estatuto SELECT


$registros = mysql_query("select claveCategoria, categoria from categorias",$conexion); $numeroRegistros = mysql_num_rows($registros); while ($registro = mysql_fetch_assoc($registros)) { echo $registro["claveCategoria"] . " " . $registro["categoria"] . "<br>"; }

Ejecutar un estatuto INSERT


$sql = "insert categorias (categoria, notas, urlImagen)values ('$categoria', '$descripcion', '$URL')"; $registros = mysql_query($sql, $conexion); if ($registros) {//codigo...}

Ejecutar un estatuto UPDATE


$sql = "update categorias set categoria = 'Modificada' where claveCategoria = $claveNuevaCategoria"; $registros = mysql_query($sql, $conexion); if ($registros) {//codigo...}

Ejecutar un estatuto DELETE


$sql = "delete from categorias where claveCategoria = $claveNuevaCategoria"; $registros = mysql_query($sql, $conexion); if ($registros) {//codigo...}

PHP - MySQL

(I.T. Istmo)

Distintas maneras de ejecutar une sentencia SELECT


Cuando se ejecuta una sentencia SELECT y se obtiene un conjunto de registros MySQL ofrece 4 maneras de acceder dichos registros: mysql_fetch_assoc() mysql_fetch_object() mysql_fetch_row() mysql_result() Veamos como varia el procesamiento de la informacin al ejecutar la siguiente sentencia: $registros = mysql_query("select claveCategoria, categoria from categorias",$conexion);

mysql_fetch_assoc()
Para procesar los registros comnmente se utiliza un while, y se le asigna el registro a una variable en forma de un arreglo. El arreglo cuenta con el nombre del campo y su respectivo valor, cuando ya no hay registros regresa un false. El arreglo se forma de esta manera: $registros = array("campo1" => valor1, "campo2" => valor2, "campoN" =>valorN) while ($registro = mysql_fetch_assoc($registros)) { echo "<strong>Clave:</strong>" . $registro["claveCategoria"] . " - " .$registro["categoria"] . "<br>"; } En este caso cuando no haya ms registros el while se interpreta de esta manera y se termina el ciclo: while (false) {//cdigo...}

mysql_fetch_object()
Utiliza comnmente un while, le asigna el registro a un objeto. Las propiedades del objeto corresponden a los campos, cuando ya no hay registros regresa un false. El objeto se forma de esta manera: var campo1 = valor-del-campo; var campo2 = valor-del-campo2; var campoN = valor-del-campoN;

Acceder las propiedades del objeto se hace de esta manera: $variable->campo

PHP - MySQL

(I.T. Istmo)

while ($registro = mysql_fetch_object($registros)) { echo "<strong>Clave:</strong>" . $registro->claveCategoria . " - " .$registro->categoria . "<br><br>"; } En este caso cuando no haya ms registros el while se interpreta de esta manera y se termina el ciclo: while (false) {//cdigo...}

mysql_fetch_row()
Para procesar los registros comnmente se utiliza un while, y se le asigna el registro a una variable en forma de un arreglo. El arreglo esta organizado numricamente, el primer campo es el elemento 0 del arreglo, el segundo es el elemento 1 y as sucesivamente. Cuando ya no hay registros regresa un false. 0 => '1', 1 => 'Bebidbas' El arreglo se forma de esta manera: $registros = array(0 => valorCampo1, 1=> valorCampo2, N => valorCampoN); while ($registro = mysql_fetch_row($registros)) { echo "<strong>Clave:</strong>" . $registro[0] . " - " . $registro[1] ."<br><br>"; } En este caso cuando no haya mas registros el while se interpreta de esta manera y se termina el ciclo.: while (false) {//cdigo...}

mysql_result()
A diferencia de los otros mecanismos este nicamente puede regresarnos los valores de un solo registro y de un solo campo a la vez. mysql_result($registros, 5, "claveCategoria");

Ejercicio - Llenar una lista con los valores de una tabla


En este ejercicio se va a generar una lista HTML a partir del siguiente estatuto: select claveCategoria, categoria from categorias categoria order by

PHP - MySQL

(I.T. Istmo)

Ejercicio - Generar una tabla HTML con los valores de una tabla
En este ejercicio se va a generar una tabla HTML a partir del siguiente estatuto: select claveProducto, producto, existencia from productos order by claveProducto

Ejercicio - Generar Querystrings


En este ejercicio se va a generar un listado de clientes a partir del siguiente estatuto: select claveCliente, cliente from clientes order by claveCliente El campo se convierte en una liga que nos lleva a la pagina detalles-cliente.php,a esta liga se le agrega la clave del cliente en el querystring: ?claveCliente=CACTU El estatuto para obtener el detalle del cliente es el siguiente: select * from clientes where claveCliente = 'la-clave-delcliente'

Ejercicio - Altas, bajas, cambios y consultas de una tabla

También podría gustarte