Está en la página 1de 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
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
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
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
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
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

También podría gustarte