![]() |
|
||||||||||||||||
![]() |
||||||||||||||||
Pràctica |
![]() |
Exercicis
|
||||||||||||||
Connectar el PHP amb el MySQL |
||||||||||||||||
![]() |
Estem arribant al final d'aquest capítol de treball amb les bases de dades, i seria bo per començar a fer boca aconseguir una connexió senzilla amb les vostres dades des del PHP. Es pretén introduir les funcions PHP natives per accedir a bases de dades d'un nivell molt elemental. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Desenvolupament de la pràctica | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
L'estructura per accedir a una base de dades és molt semblant al protocol per accedir a un fitxer: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Presentarem ara algunes de les seqüències utilitzades per atacar una base de dades MySQL. Podeu observar que a la columna dreta hi ha la correspondència per connectar-se a la base de dades mitjançant ODBC. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Relacionem altres funcions PHP sobre el MySQL. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ara extraureu de la taula professor els noms dels professors que conté. El protocol que s'ha de seguir sempre és el mateix: establir la connexió amb el servidor de bases de dades, seleccionar la base de dades de treball i enviar la comanda SQL. El resultat queda emmagatzemat en una variable de memòria del tipus array. A partir d'aquest moment, ja podeu treballar amb les dades o presentar-les a pantalla. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Podeu trobar el codi del fitxer següent a la carpeta fitxers/m4/m4p51.php. Recordeu que és recomanable que obriu el fitxer amb l'editor de codi, ja que acoloreix el codi HTML i el codi PHP, i el funcionament resulta més entenedor. A més, si passeu per damunt d'una funció mysql, segons l'editor us donarà informació dels paràmetres relacionats amb la funció, o bé prement F1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> /* Recorrem l'array de resultat per mostrar valors en pantalla.*/ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Llistat 4.5.1. Codi del fitxer m4p51.php | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A la figura següent podeu observar el resultat de l'execució del codi PHP: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Figura 4.5.1. Resultat de l'execució del fitxer m4p51.php |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Podeu observar que extraure informació d'una base de dades i exposar-la com una pàgina web és realment molt fàcil. De moment ens quedem aquí, ja que en el proper mòdul aprofundirem més sobre aquest tema. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Les comandes natives del PHP per accedir al MySQL les podeu trobar ampliades en qualsevol llibre o manual del PHP en format paper o electrònic, a l'apartat que els dedica la pàgina oficial del PHP i fins i tot a l'ajuda del Maguma amb tot tipus de detalls i exemples de funcionament. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ara repetireu la mateixa operació de la figura 4.5.1,
però extraureu les dades des de l'Acces a partir de l'ODBC que s'ha
instal·lat a la pràctica
2 ![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html><head> <?php /*-------------------------------------------------- * Mòdul: 4 Pràctica: 5.2. Fitxer: m4p52.php * Autor: D116 Data: * Descripció: Connexió Accés per ODBC * Pre condi.: ODBC DSN d116_tutoria * Post cond.: --------------------------------------------------*/ ?> <title>Mòdul 4.Pràctica 5.2</title> </head> <body> <?php /* Establim connexió amb Accés per ODBC (DSN,usuari,contrasenya*/ $conn=odbc_connect("d116_tutoria","root",""); /* Establim la comanda SQL que volem executar consultem els noms dels professors */ $sql="select nom from professor" ; /* A $resul ens guardem el resultat de la consulta */ if ( ! $resul=odbc_exec($conn,$sql)) { echo "No s'ha pogut realitzar la consulta"; echo odbc_error($conn); exit; } echo " Connexió Accés per ODBC. DSN :D116_tutoria <br>" ; echo " La consulta executada és : <b> $sql <b> <br>"; echo " Els noms són : <br> "; // Recorrem l'array de resultat per mostrar valors en // pantalla. while ($rc = odbc_fetch_into($resul,$arr_resul)){ print($arr_resul[0]."<br>"); } // Alliberem l'espai de memòria ocupat pel resultat de // la consulta odbc_free_result($resul); // Tanquem connexió amb el servidor de BD odbc_close($conn); ?> </body> </html> |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Llistat 4.5.2. Codi del fitxer m4p52.php | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Observeu que els canvis entre m4p51.php i m4p52.php són mínims, només afecten les instruccions que accedeixen sobre els orígens de les dades. A l'ajuda del Maguma podeu trobar més informació sobre les funcions ODBC. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
En el cas que vulgueu treballar amb l'ODBC, l'Oracle, l'mSQL o altres motors de bases de dades, heu d'adreçar-vos a l'apartat corresponent del manual del PHP per obtenir informació de quines són les funcions o instruccions concretes que s'han d'utilitzar en cada cas. Per evitar-ho, en el proper mòdul treballareu amb una llibreria abstracta de connexió a qualsevol motor de base de dades, sense necessitat de modificar el codi per un canvi o modificació del servidor de base de dades. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Per extreure dades d'una base de dades en Access, ho fareu a través de l'ODBC com heu vist anteriorment. Si el que necessiteu és extreure dades d'un fitxer en Excel senzill, ho fareu també amb l'ODBC, però en crear el DSN escollireu el controlador de l'Excel. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
En el cas que el fitxer Excel que voleu tractar contingui formats de cel·les, operacions o autofiltres, és recomanable crear en Access una taula en blanc i vincular-la al fitxer Excel que voleu enllaçar, i després extreure les dades mitjançant l'ODBC connectat a la taula vinculada en Access que heu creat. |
![]() |
![]() |
||||||||||||
|
Exercicis |
|||||||||||