Diferencia entre revisiones de «Acceso a bases de datos desde linguaxes de script de servidor»
Línea 3: | Línea 3: | ||
* Aprender | * Aprender | ||
− | = Programando con PHP = | + | = Programando con PHP o acceso a bases de datos = |
+ | |||
+ | As aplicacións web fan habitualmente un uso intenso de bases de datos para diversos obxectivos. Nelas poden gardar, por exemplo, a lista de usuarios coñecidos, as opcións dos distintos menús, cachés de contidos ou alias de URLs. | ||
+ | |||
+ | As bases de datos son un medio eficaz, flexible, seguro e de alto rendemento de almacenar información e facela accesible a todas as aplicacións que precisen o seu uso. Deste xeito, a aplicación web pode ser só un dos múltiples clientes que estean a utilizar a información da base de datos. | ||
+ | |||
+ | Cando se programa a aplicación web con PHP, MySQL é o sistema xestor de bases de datos que se utiliza máis habitualmente. | ||
+ | |||
+ | O seu uso é realmente simple, porque o programador dispoñerá dun conxunto de funcións que lle permitirán establecer unha comunicación entre a aplicación e o servidor de bases de datos e pedirlle a execución de todo tipo de operacións. | ||
+ | |||
Podes atopar máis información nestes artigos: | Podes atopar máis información nestes artigos: | ||
* [https://wiki.cifprodolfoucha.es/index.php?title=Programaci%C3%B3n_con_PHP titorial] específico de PHP. | * [https://wiki.cifprodolfoucha.es/index.php?title=Programaci%C3%B3n_con_PHP titorial] específico de PHP. | ||
+ | |||
+ | Está particularmente ben e con código con exemplos o [https://www.w3schools.com/php/php_mysql_intro.asp titorial de PHP e Mysql de w3schools]. | ||
Videotitorial: | Videotitorial: | ||
* [https://openwebinars.net/academia/portada/php-mysql/] | * [https://openwebinars.net/academia/portada/php-mysql/] | ||
+ | |||
+ | = Conexión = | ||
+ | O primeiro paso para utilizar unha base de datos será tratar de establecer unha comunicación co servidor no que se atope. No caso de MySQL utilizaremos a función mysqli_connect(). | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | $conexion = mysqli_connect($host, $login, $contrasinal, $base); | ||
+ | |||
+ | if(!$conexion) { | ||
+ | exit(); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Conectarse a unha base de datos implica coñecer o seu nome, en que máquina está o servidor de bases de datos e ter unha parella de login e contrasinal que permita o acceso. | ||
+ | |||
+ | A continuación haberá que comprobar que a conexión foi posible e en caso de que non o fose tomaranse as medidas oportunas. Se a aplicación web confía no uso dunha base de datos para o seu correcto funcionamento a acción probablemente deba rematar o script, como se fai neste exemplo coa chamada á función exit(). | ||
+ | |||
+ | Se a conexión tivo éxito, a maior parte do traballo que faremos a continuación consistirá en enviar consultas SQL ao servido de base de datos para pedirlle que actualice os datos ou para recuperar información. Utilizarase a función mysqli_query(). | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | $conexion = mysqli_connect($host, $login, $contrasinal, $base); | ||
+ | $resultado = mysqli_query($conexion, $consulta); | ||
+ | if($resultado) { | ||
+ | //A consulta executouse correctamente | ||
+ | } else { | ||
+ | //Houbo algún problema coa execución da consulta | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | = Consultas de actualización = | ||
+ | |||
+ | As consultas de actualización da base de datos terán a estrutura xenérica vista no apartado anterior. Unha vez enviada a consulta ao servidor de bases de datos só queda averiguar se a súa execución foi correcta e, nalgunhas ocasións, utilizar o dato de cantas filas se viron afectadas polos cambios, usando a función mysqli_affected_rows(); | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | $conexion = mysqli_connect($host, $login, $contrasinal, $base); | ||
+ | $resultado = mysqli_query($conexion, 'DELETE FROM clientes'); | ||
+ | if($resultado) { | ||
+ | echo 'Borráronse ' . mysqli_affected_rows($conexion) . ' clientes'; | ||
+ | } else { | ||
+ | echo 'Non foi posible o borrado'; | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | = Consultas de lectura = | ||
+ | Cando se trata dunha consulta de lectura, haberá que engadir ao proceso anterior o necesario para o tratamento dos datos recibidos como contestación. | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | $conexion = mysqli_connect($host, $login, $contrasinal, $base); | ||
+ | $resultado = mysqli_query($conexion, 'SELECT * FROM clientes'); | ||
+ | if($resultado) { | ||
+ | while($fila = mysqli_fetch_assoc($resultado)) { | ||
+ | echo $fila['id'] . '-' . $fila['nome']; | ||
+ | } | ||
+ | } else { | ||
+ | echo 'Non foi posible a lectura'; | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Habitualmente incluiremos un bucle que se encargue de percorrer cada unha das filas que forman a resposta da base de datos. Neste exemplo utilízase a función mysqli_fetch_assoc() que colle unha fila do resultado e convírtea nun array asociativo para que o seu tratamento dentro do programa sexa sinxelo. | ||
= Laravel = | = Laravel = |
Revisión del 13:44 18 ene 2023
Sumario
Obxectivos
- Aprender
Programando con PHP o acceso a bases de datos
As aplicacións web fan habitualmente un uso intenso de bases de datos para diversos obxectivos. Nelas poden gardar, por exemplo, a lista de usuarios coñecidos, as opcións dos distintos menús, cachés de contidos ou alias de URLs.
As bases de datos son un medio eficaz, flexible, seguro e de alto rendemento de almacenar información e facela accesible a todas as aplicacións que precisen o seu uso. Deste xeito, a aplicación web pode ser só un dos múltiples clientes que estean a utilizar a información da base de datos.
Cando se programa a aplicación web con PHP, MySQL é o sistema xestor de bases de datos que se utiliza máis habitualmente.
O seu uso é realmente simple, porque o programador dispoñerá dun conxunto de funcións que lle permitirán establecer unha comunicación entre a aplicación e o servidor de bases de datos e pedirlle a execución de todo tipo de operacións.
Podes atopar máis información nestes artigos:
- titorial específico de PHP.
Está particularmente ben e con código con exemplos o titorial de PHP e Mysql de w3schools.
Videotitorial:
Conexión
O primeiro paso para utilizar unha base de datos será tratar de establecer unha comunicación co servidor no que se atope. No caso de MySQL utilizaremos a función mysqli_connect().
$conexion = mysqli_connect($host, $login, $contrasinal, $base);
if(!$conexion) {
exit();
}
Conectarse a unha base de datos implica coñecer o seu nome, en que máquina está o servidor de bases de datos e ter unha parella de login e contrasinal que permita o acceso.
A continuación haberá que comprobar que a conexión foi posible e en caso de que non o fose tomaranse as medidas oportunas. Se a aplicación web confía no uso dunha base de datos para o seu correcto funcionamento a acción probablemente deba rematar o script, como se fai neste exemplo coa chamada á función exit().
Se a conexión tivo éxito, a maior parte do traballo que faremos a continuación consistirá en enviar consultas SQL ao servido de base de datos para pedirlle que actualice os datos ou para recuperar información. Utilizarase a función mysqli_query().
$conexion = mysqli_connect($host, $login, $contrasinal, $base);
$resultado = mysqli_query($conexion, $consulta);
if($resultado) {
//A consulta executouse correctamente
} else {
//Houbo algún problema coa execución da consulta
}
Consultas de actualización
As consultas de actualización da base de datos terán a estrutura xenérica vista no apartado anterior. Unha vez enviada a consulta ao servidor de bases de datos só queda averiguar se a súa execución foi correcta e, nalgunhas ocasións, utilizar o dato de cantas filas se viron afectadas polos cambios, usando a función mysqli_affected_rows();
$conexion = mysqli_connect($host, $login, $contrasinal, $base);
$resultado = mysqli_query($conexion, 'DELETE FROM clientes');
if($resultado) {
echo 'Borráronse ' . mysqli_affected_rows($conexion) . ' clientes';
} else {
echo 'Non foi posible o borrado';
}
Consultas de lectura
Cando se trata dunha consulta de lectura, haberá que engadir ao proceso anterior o necesario para o tratamento dos datos recibidos como contestación.
$conexion = mysqli_connect($host, $login, $contrasinal, $base);
$resultado = mysqli_query($conexion, 'SELECT * FROM clientes');
if($resultado) {
while($fila = mysqli_fetch_assoc($resultado)) {
echo $fila['id'] . '-' . $fila['nome'];
}
} else {
echo 'Non foi posible a lectura';
}
Habitualmente incluiremos un bucle que se encargue de percorrer cada unha das filas que forman a resposta da base de datos. Neste exemplo utilízase a función mysqli_fetch_assoc() que colle unha fila do resultado e convírtea nun array asociativo para que o seu tratamento dentro do programa sexa sinxelo.
Laravel
Resumo
- https://wiki.cifprodolfoucha.es/index.php?title=PHP_Introduci%C3%B3n_acceso_a_base_de_datos
- https://wiki.cifprodolfoucha.es/index.php?title=PHP_Requirimentos_previos_para_acceso_a_datos
- https://wiki.cifprodolfoucha.es/index.php?title=PHP_Operaci%C3%B3ns_BD_Mysql
- https://wiki.cifprodolfoucha.es/index.php?title=PHP_Conceptos_b%C3%A1sicos_Modelo-Vista-Controlador
Referencias
- Implantación de aplicaciones web (Segunda edición).Paredes Colmenar, María del Pilar.ISBN: 9788491713500
- Ejercicios resueltos base de datos PHP