Download Acceso a bases de datos

Document related concepts

PhpMyAdmin wikipedia , lookup

MySQL wikipedia , lookup

Doctrine (PHP) wikipedia , lookup

Inyección SQL wikipedia , lookup

Mecanismos de almacenamiento (MySQL) wikipedia , lookup

Transcript
Conexión a bases de datos
• Si dispone de un plan de alojamiento web en
plataforma Linux o Windows, con acceso a
bases de datos, podrá utilizar el lenguaje PHP
para sus desarrollos web. Desde sus páginas
PHP podrá desarrollar fácilmente su
programación de acceso a bases de datos
MySQL.
Acceso a bases de datos MySQL desde
PHP
• El sistema de acceso y manipulación de bases
de datos desde PHP es similar al de otros
lenguajes de script: establece la conexión con
la base de datos, ejecuta las sentencias de
consulta o modificación y finalmente cierra la
conexión.
• PHP soporta compatibilidad con accesos a
múltiples sistemas de bases de datos, sin
embargo, el modo de programación sobre
cada tipo de base de datos, no presenta, como
en otros casos, la misma nomenclatura.
• PHP utiliza funciones de nombre genérico,
pero precedidas normalmente por el nombre
del sistema de base de datos, de modo que las
funciones que ofrece el lenguaje para el
acceso a cada tipo de base de datos son
diferentes.
Establecimiento de conexión con
bases de datos MySQL
• Para establecer la conexión con una base de datos
MySQL desde PHP, se utiliza la función:
• mysql_connect("NombreHost","Usuario","Contraseña")
• Cuyos parámetros son opcionales, e indican el nombre
del servidor -o IP del mismo- (‘NombreHost’) donde se
encuentra la base de datos, el ‘Usuario’ de acceso a la
base de datos, y la ‘Contraseña’ de acceso. En caso de
éxito la función devuelve un identificador del enlace
con el sistema de bases de datos.
• Una vez establecida la conexión, hay que
indicar al sistema, la base de datos con la que
se desea trabajar, usando la función:
• mysql_select_db("NombreBaseDatos")
• Y finalmente, para cerrar la conexión
utilizamos:
• mysql_close($conexion)
Ejemplo de conexión a BD
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
<?php //Inicia codigo PHP
function Conectarse() //abre la conexion {
if (!($link=mysql_connect("localhost","root",""))) //comentario: ("localhost","usuario",
"contraseña") {
echo "Error conectando a la base de datos."; // mensaje de error de conexion
exit(); }
if (!mysql_select_db("mibase",$link)) //aqui va el nombre de la base de datos
{
echo "Error seleccionando la base de datos."; //mensaje de error de selección de la base de datos
exit(); }
return $link; }
$link=Conectarse();
echo "Conexion con la base de datos conseguida.<br>"; //mensaje de conexion exitosa a la base
de datos
mysql_close($link); //cierra la conexion
//Termina codigo PHP
Consultas sobre bases de datos
MySQL
• Para efectuar consultas sobre una base de
datos MySQL, se utiliza en PHP la función:
• mysql_query($sql, $conexion)
• que toma como parámetros, una cadena con
la consulta SQL a ejecutar (SELECT, INSERT,
DELETE, etc.), y el enlace con la base de datos
(opcional). Devuelve un identificador del
resultado en caso de éxito o FALSE en caso de
error en la consulta.
• ?>
• <H1>Conexion a una base de datos con PHP y MySQL</H1>
• <?php
•
$link=Conectarse();
•
$result=mysql_query("select * from prueba",$link);
•
?>
• <div style='background-color:#CCCCCC;'> // codigo para crear una
tabla
• <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
• <TR><TD> Nombre</TD><TD> Apellidos </TD><TD>
Direccion</TD></TR></div>
• <?php
• while($row = mysql_fetch_array($result)) {
• printf("<tr><td> %s</td><td> %s </td><td> %s </td></tr>",
$row["Nombre"],$row["Apellidos"],$row["Direccion"]);
• }
• mysql_free_result($result);
• mysql_close($link);
• ?>
Crear la base de datos
• Create database `mibase`;
• CREATE TABLE IF NOT EXISTS `prueba` (
• `id` int(10) NOT NULL AUTO_INCREMENT,
• `Nombre` varchar(20) NOT NULL,
• `Apellidos` varchar(30) NOT NULL,
• `Direccion` varchar(50) NOT NULL,
• PRIMARY KEY (`id`)
• ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
• INSERT INTO `prueba` (`id`, `Nombre`, `Apellidos`, `Direccion`) VALUES
• (1, 'Nestor', 'Leyva', 'Av cien metros'),
• (2, 'Jose', 'Morales', 'Av Insurgentes');
Fuentes electrónicas
• Conexión a la base de datos en PHP y MYSQL
• http://www.arsys.info/programacion/php-acceso-abases-de-datos/
• Pagina de ejemplo de la conexión
• http://www.webestilo.com/php/php07b.phtml
• Video conexión a Bases de datos con PHP y
MySQL
• http://www.youtube.com/watch?v=DqsBZSq3c0