Minitutoriales MySQL:
1.- http://arthusu.blogspot.mx/2013/03/mysql-minitutorial-parte-1.html
2.- http://arthusu.blogspot.mx/2013/03/mysql-minitutorial-parte-2.html
3.- http://arthusu.blogspot.mx/2013/03/mysql-minitutorial-parte-3.html
4.- http://arthusu.blogspot.mx/2013/03/mysql-minitutorial-parte-4.html
5.- http://arthusu.blogspot.mx/2013/05/mysql-minitutorial-parte-5.html
Me pasare solo a las funciones... Sin nada mas que decir comencemos.
Conectar a una base de datos
Para conectar a una base de datos utilizamos la funcion:mysqli_connect(host,usuario,contraseña,nombre_basedatos);
La opcion nombre_basedatos es opcional y en lugar de indicar el nombre de la base de datos ahi podemos utilizar la funcion:
mysqli_select_db(nombre_basedatos);
Establecer un conjunto de caracteres
mysqli_set_charset($con,'utf8');
En este caso usamos la conexion, $con y establecemos un conjunto de caracteres utf8, la conexion estaria de la siguiente manera:
$con = mysqli_connect(host,usuario,contraseña,nombre_basedatos);
Puedes ver una lista de cotejamiento en la cual se indica los caracteres a utilizar, esto es util cuando usas algunos caracteres latinos, ya sea ñ o algun acento, "pon atención" por ejemplo lleva acento.
Ejecutar consultas
Para ejecutar consultas podemos utilizar la funcion:$r = mysqli_query($con,$q);
- donde $r es una variable donde guardamos el resultado de la ejecucion de la consulta
- $q es la consulta, por ejemplo puede ser: $q = "SELECT * FROM tabla"
- $con es la conexion
- con mysqli_query ejecutamos la consulta, esta devuelve falso en caso de error o true y un objeto de result en caso de que sea verdad.
Mostrar error en consulta
En caso de tener algun error en la consulta, podemos utilizar la funcion:mysqli_error($con);
Para ello podriamos hacer un condicional o simplemente podemos matar el script en caso de error:
$r = mysqli_query($con,$q) or die(mysqli_error($con));
Cerrar la conexion a la base de datos
Para cerrar la conexion a la base de datos utilizamos la funcion:mysqli_close($con);
- donde $con es la conexion
Devolver resultados de una consulta
Para devolver una consulta (como un array) podemos usar la funcion:mysqli_fetch_array(resultadodemysqliquery,opciones);
donde resultadodemysqliquery es el objeto devuelto por la misma ejecucion de la consulta correctametne
- donde opciones puede ser MYSQLI_ASSOC (para devolver un array - como asociativo, referirse a el con los nombres de las columnas) o MYSQLI_NUM (para referirse a las columnas con los numeros 1,2,3,4, etc)
$filas= mysqli_fetch_array($r,MYSQLI_ASSOC);
echo $filas['ejemplo']; // devuelve ejemplo1
Como vez haciendo referencia a la columna nos devolvera el ultimo resultado, pero si queremos todos los resultados tendremos que recorrerlos utilizando bucles:
while($filas = mysqli_fetch_array($r)) { // aca hacemos algo }
while($filas = mysqli_fetch_array($r)) {
echo $filas['ejemplo'] .'<br>';
}
Este ultimo devolveria algo como:
ejemplo1
ejemplo2
ejemplo3
ejemplo4
y asi sucesivamente dependiendo de las filas de la columna a la que nos refiramos...
Liberar memoria asociada a un resultado
Es muy comun, despues de haber realizado un retorno de resultados liberar memoria del mismo resultado utilizando la funcion:mysqli_free_result($r);
- donde $r es la variable del resultado
Escapar caracteres especiales en MySQL
Esto es muy usado para mitigar ataques de Inyeccion SQL, los cuales escapa los siguientes caracteres:NULL (ASCII 0), \n, \r, \, ', ", y Control-Z.
Digamos que por ejemplo, tenemos un campo para insertar a una base de datos como es:
$_POST['micampo'];
podriamos escapar ese campo utilizando la funcion:
mysqli_real_escape_string($con,losdatosaqui);
- donde $con es la conexion
- losdatosaqui es por ejemplo $_POST['micampo'];
$campo = mysqli_real_escape_string($con,strip_tags($_POST['micampo']));
Contar los registros devueltos
Para contar el numero de filas devueltas podemos utilizar la funcion:mysqli_num_rows($r);
- donde $r es el resultado de la ejecucion de la consulta
En muchos casos es utilizada, como por ejemplo en algun inicio de sesion, al momento de saber si el login es correcto podemos hacer un condicional para saber si esa consulta a retornado alguna fila:
$q = "SELECT * FROM usuarios";
$r = mysqli_query($con,$q);
if(mysqli_num_rows($r) > 0){ // devolvio alguna fila }
Filas afectadas por consultas como UPDATE, DELETE o INSERT
Muchas veces queremos saber si nuestra consulta (las que se mencionan en el titulo) ha sido efectuada correctamente para ello es comun utilizar la funcion:
mysqli_affected_rows($con);
La cual retorna verdadero en caso de que nuestra consulta se haya realizado correctamente o FALSO en caso contrario.
Hasta aqui termino este pequeño y corto tutorial de referencia de funciones de PHP para MySQL muy comunmente se usan, y para ver sobre como realizar consultas podemos ir a los minitutoriales de MySQL, este tutorial de referencia es parte de los tutoriales de PHP.
No hay comentarios:
Publicar un comentario