php-mysql

6
PHP - MySQL (I.T. Istmo) Objetivo Utilizar PHP para integrar información de MySQL en las páginas Web. Funciones de PHP para interactuar con MySQL PHP cuenta con varias funciones para contactarse con MySQL, entre las más comunes están las siguientes: mysql_connect() Establece una conexión con el servidor de MySQL, utiliza tres parámetros: mysql_connect(servidor-mysql, usuario, password) Si se conecta con el servidor regresa un identificador de la conexión, 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 conexión antes podemos utilizar esta función. Regresa un true si la conexión 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 número de registros que fueron afectados por los estatutos INSERT, UPDATE o DELETE. La sintaxis es: mysql_affected_rows($conexion); 1

Upload: 071016

Post on 21-Jun-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PHP-MySQL

PHP - MySQL (I.T. Istmo)

Objetivo Utilizar PHP para integrar información de MySQL en las páginas Web. Funciones de PHP para interactuar con MySQL PHP cuenta con varias funciones para contactarse con MySQL, entre las más comunes están las siguientes: mysql_connect() Establece una conexión con el servidor de MySQL, utiliza tres parámetros: mysql_connect(servidor-mysql, usuario, password) Si se conecta con el servidor regresa un identificador de la conexión, 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 conexión antes podemos utilizar esta función. Regresa un true si la conexión 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 número de registros que fueron afectados por los estatutos INSERT, UPDATE o DELETE. La sintaxis es: mysql_affected_rows($conexion);

1

Page 2: PHP-MySQL

PHP - MySQL (I.T. Istmo)

mysql_num_rows() Retorna el número 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 numéricamente. 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 función los recursos son liberados automáticamente al terminar de procesar la pagina. mysql_free_result($registros); mysql_insert_id() Un campo con el atributo AUTO_INSERT se incrementa automáticamente cuando se inserta un nuevo registro en la tabla mysql_insert_id() regresa el valor generado. mysql_insert_id($conexion);

2

Page 3: PHP-MySQL

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...}

3

Page 4: PHP-MySQL

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 información al ejecutar la siguiente sentencia: $registros = mysql_query("select claveCategoria, categoria from categorias",$conexion); mysql_fetch_assoc() Para procesar los registros comúnmente 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 más registros el while se interpreta de esta manera y se termina el ciclo: while (false) {//código...} mysql_fetch_object() Utiliza comúnmente 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

4

Page 5: PHP-MySQL

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 más registros el while se interpreta de esta manera y se termina el ciclo: while (false) {//código...} mysql_fetch_row() Para procesar los registros comúnmente se utiliza un while, y se le asigna el registro a una variable en forma de un arreglo. El arreglo esta organizado numéricamente, 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) {//código...} 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 order by categoria

5

Page 6: PHP-MySQL

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-del-cliente' Ejercicio - Altas, bajas, cambios y consultas de una tabla

6