Escolar Documentos
Profissional Documentos
Cultura Documentos
//MySQL clsico
require_once 'mysql-login.php';
//Conectando
$con = mysql_connect($hostname, $username, $password);
//Manejo de errores
if (!$con)
die("Fall la conexin a MySQL: " . mysql_error());
else
echo "Conexin exitosa!";
//Seleccionar base de datos
mysql_select_db($database)
or die("Seleccion de base de datos fallida " . mysql_error());
mysql_close();
//MySQL PDO
require_once 'mysql-login.php';
try {
$con =
new PDO('mysql:host='.$hostname.';dbname='.
$database, $username, $password);
print "Conexin exitosa!";
}
catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "
";
die();
}
$con =null;
//MySQLi
require_once 'mysql-login.php';
$mysqli =
new mysqli($hostname, $username,
$password, $database);
if ($mysqli -> connect_errno) {
die( "Fallo
la
conexin
a
MySQL:
(" . $mysqli > mysqli_connect_errno()
. ") " . $mysqli -> mysqli_connect_error());
}
else
echo "Conexin exitosa!";
$mysqli -> mysqli_close();
MySQLi
PDO
mysql_connect():
Funcin para abrir
la conexin
mysql_select_db():
Selecciona la base
de datos
La base de datos es
seleccionada en el
constructor PDO
La base de datos es
seleccionada en el
constructor PDO
Usar retorno
booleano de
mysql_connect()
Usa el atributo
connect_errno para
comprobar la
existencia de errores
mysql_close():
Funcin que cierra
la conexin
mysqli_close():
Mtodo de la
clasemysqli para
cerrar la conexin.
//MySQL clsico
$resultado = mysql_query("UPDATE
PROFESOR
='Brenda' WHERE ID=2");
if(!$resultado)
die("Fallo el comando:".mysql_error());
else
echo mysql_affected_rows()."Filas afectadas";
SET
NOMBRE
//PDO
$count = $con->exec("UPDATE PROFESOR SET NOMBRE ='Brenda'
WHERE ID=2");
print($count." Filas afectadas");
//MySQLi
if ($mysqli->query("UPDATE PROFESOR SET NOMBRE
WHERE ID=2") === TRUE) {
printf($mysqli->affected_rows." Filas afectadas");
}
else
echo "Error al ejecutar el comando:".$mysqli->error;
='Brenda'
MySQLi
PDO
mysql_query(): Funcin
que ejecuta un comando
en la base de datos.
query(): Mtodo de la
clasemysqli para
ejecutar un comando.
exec(): Mtodo de
la clase PDOpara
ejecutar un
comando que solo
afecta la base de
datos.
mysql_affected_rows():
Retorna en la cantidad de
filas afectadas
affected_rows: Atributo
de la clase mysqli que
guarda la cantidad de
filas afectadas.
El retorno de exec()
es la cantidad de
filas afectadas por
la sentencia.
//MySQL clsico
$query = "SELECT * FROM AVIONES";
$resultado = mysql_query($query);
if(!$resultado)
die("Fallo el comando:".mysql_error());
else{
print("<table>");
while($rows = mysql_fetch_array($resultado,MYSQL_ASSOC)){
print("<tr>");
print("<td>".$rows["ID"]."</td>");
print("<td>".$rows["CAPACIDAD"]."</td>");
print("<td>".$rows["DESCRIPCION"]."</td>");
print("</tr>");
}
print("</table>");
}
mysql_free_result($resultado);
//PDO
$query = "SELECT * FROM AVIONES";
print("<table>");
$resultado = $con->query($query);
foreach ( $resultado as $rows) {
print("<tr>");
print("<td>".$rows["ID"]."</td>");
print("<td>".$rows["CAPACIDAD"]."</td>");
print("<td>".$rows["DESCRIPCION"]."</td>");
print("</tr>");
}
print("</table>");
$resultado =null;
//MySQLi
$query = "SELECT * FROM AVIONES";
$resultado=$mysqli->query($query);
print("<table>");
while ($rows = $resultado->fetch_assoc()) {
print("<tr>");
print("<td>".$rows["ID"]."</td>");
print("<td>".$rows["CAPACIDAD"]."</td>");
print("<td>".$rows["DESCRIPCION"]."</td>");
print("</tr>");
}
print("</table>");
$resultado->free();
MySQLi
PDO
mysql_fetch_array():
Funcin que obtiene
una fila de la consulta.
El parmetro indica que
tipo de array ser
retornado.
fetch_assoc():
Mtodo de la
clase
mysqli_result que
obtiene una fila
de la consulta en
query(): Mtodo de la
clase PDO que retorna en
un objeto PDOStatement
que contiene los
resultados de una
consulta. Recorreremos
MYSQL_NUM: Array de
retorno con ndices
numricos.
MYSQL_ASSOC: Array
de retorno con ndices
asociativos.
MYSQL_BOTH: Array de
retorno con ambos
tipos de ndices.
mysql_free_result():
Libera la memoria hacia
los resultados de la
consulta
forma de array
asociativo.
free(): Libera la
memoria asociada
//MySQL clsico
$query = 'PREPARE
sentencia
FROM
"INSERT
INTO
usuario
VALUES(NULL,?,?,?,?)"';
$resultado = mysql_query($query);
if(!$resultado)
die("Fallo el comando:".mysql_error());
else{
print("PREPARE exitoso!</br>");
$query ='SET @nombre = "'.$nombre.'"'.',@apellido ="'.$apellido.'"'
.',@edad ='.$edad.',@email='.$email;
if(!mysql_query($query))
die("Error en SET: ".mysql_error());
$query = 'EXECUTE sentencia USING @nombre,@apellido,@edad';
if(!mysql_query($query))
die("Error en EXECUTE:".mysql_error());
$query = 'DEALLOCATE PREPARE sentencia';
if(!mysql_query($query))
die("Error en DEALLOCATE:".mysql_error());
}
//MySQLi
if ($stmt = $mysqli->prepare("INSERT
INTO
usuario
VALUES(NULL,?,?,?,?)") ){
/* ligar parmetros para marcadores */
$stmt->bind_param("ssds", $nombre,$apellido,$edad,$email);
/* ejecutar la consulta */
$stmt->execute();
/* cerrar sentencia */
$stmt->close();
}
else{
echo "Error al ejecutar la sentencia preparada".$mysqli->error;
}
//PDO
$cmd = $con->prepare('INSERT INTO usuario VALUES(NULL,?,?,?,?)');
$cmd->execute(array($nombre,$apellido,$edad,$email));
MySQLi
PDO
prepare(): Mtodo de la
:label.
preparada.
entero
d: Tipo float
al parmetro
s: Tipo string
b: Tipo blob
preparado.
en forma de objetos.
PDO:FETCH_ASSOC: en forma de
array asociativo.
//PDO
$proc = $con->prepare('CALL sp_clientes_edad(?)');
$proc->bindParam(1, $var, PDO::PARAM_INT);
$proc->execute();
print("<table>");
while($res=$proc->fetch(PDO::FETCH_OBJ)){
print("<tr>");
print("<td>".$res->NO_ALUMNOS."</td>");
print("<td>".$res->NOTA_MEDIA."</td>");
print("<td>".$res->NOTA_MAX."</td>");
print("<td>".$res->NOTA_MIN."</td>");
print("</tr>");
}
print("</table>");
//MySQLi
if ($stmt = $mysqli->prepare("CALL sp_estadistica_curso(?)") ){
/* ligar parmetros para marcadores */
$stmt->bind_param("d", $Id_curso);
/* ejecutar la consulta */
$stmt->execute();
$resultado = $stmt->get_result();
print("<table>");
while($rows=$resultado->fetch_assoc()){
print("<tr>");
print("<td>".$rows["NO_ALUMNOS"]);
print("<td>".$rows["NOTA_MEDIA"]);
print("<td>".$rows["NOTA_MAX"]);
print("<td>".$rows["NOTA_MIN"]);
print("</tr>");
}
print("</table>");
/* cerrar sentencia */
$stmt->close();
}
else{
echo "Error al ejecutar el procedimiento".$mysqli->error;
}