SlideShare a Scribd company logo
Programare Web Accesul la bazele de date  prin PHP Dr. Sabin-Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/
PHP ( PHP: Hypertext Preprocessor ) Accesarea bazelor de date prin PHP Preliminarii Suportul oferit de PHP Conectivitatea cu MySQL Conectivitatea cu SQLite cuprins
baze de date Organizarea si regasirea facila a informatiilor, conduc la stocarea acestora in  baze de date (relationale) Fiecare baza de date contine mai multe   tabele O tabela este structurata în  coloane  (cimpuri)  si  rânduri  (înregistrari) Fiecare cimp se desemnat de un nume si un tip de date (numeric, sir de caractere, data,...) Pentru facilitarea cautarii/sortarii pot fi asociati si  indecsi , conform valorilor unui/unor cimp(uri) Intre tabelele unei baze de date se pot defini diverse  relatii
baze de date Ansamblul de aplicatii care realizeaza managementul bazelor de date se numeste  sistem de baze de date relational   ( Relational DataBase Management System  – RDBMS ) DB2 Informix Microsoft SQL Server MySQL Oracle PostgreSQL …
baze de date Operatiile asupra bazelor de date, tabelelor, valorilor inregistrarilor etc.  se specifica intr-un limbaj declarativ:  SQL  ( Structured Query Language ) Accesul la un  server  de gestiune a bazelor  de date se realizeaza via un  client
MySQL Arhitectura  open source Foarte rapid, optimizat pentru acces la date www.mysql.com Larg folosit in cadrul solutiilor de comert electronic ( e.g. , aplicatii Web de tip  e-shop ) API-uri disponibile in majoritatea limbajelor de programare (C, C++, Perl, PHP, Python,…) Componente:  server  ( mysqld ) +  client  ( mysql ,  PHPMyAdmin , script CGI, program PHP,…) Manualul:  http://dev.mysql.com/doc/mysql/en
MySQL Alte facilitati: Crearea “din zbor” de variabile  ce pot fi ulterior refolosite in interogari Replicarea datelor Paleta larga de functii, operatori si structuri de control Suport pentru  triggers  si  clusters  Multe altele
MySQL Accesul la server via un client in linie de comanda:  mysql   [  optiuni  ] [  nume_baza_de_date   ] Optiuni uzuale: -h  masina   (numele masinii/serverului) -p [  parola  ]  (parola pentru autentificare) -u  utilizator  (numele utilizatorului) Exemplu:  mysql –u tux –p Alte detalii:  info mysql  (in UNIX/Linux)
MySQL | exemplu  (infoiasi)$  mysql –u tux –p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 to server version: 4.0.11a-gamma Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>  use clienti; Reading table information for completion of table and column names Database changed
MySQL | exemplu  mysql>  select nume, prenume from comenzi; +---------+---------+ | nume  | prenume | +---------+---------+ | Savon  | Buritin | | Vigoniu | Bonzui  | | Nilla  | Sapo  | | Lzian  | Xi  | | Tin  | Debre  | +---------+---------+ 5 rows in set (0.01 sec)
MySQL | exemplu  mysql>  select nume from comenzi  where id > 3; +-------+ | nume  | +-------+ | Lzian | | Tin  | +-------+ 2 rows in set (0.11 sec)
MySQL Alte operatii uzuale: insert update delete create database create table drop table grant
MySQL | exemplu  mysql>  create database  studenti ; Query OK, 1 row affected (0.00 sec) mysql>  use studenti Database changed mysql>  create table  note  ( ->  nume char (40), ->  adresa char(40), ->  grupa integer, ->  nota integer not null); Query OK, 0 rows affected (0.01 sec) mysql>  insert into  note  values ->  (" Radu Filip ", " [email_address] ",   2 ,  10 ); Query OK, 1 row affected (0.00 sec) Am creat o baza de date, iar in cadrul ei o tabela.
MySQL | exemplu  mysql>  grant usage on  studenti .*  to  [email_address] ; Query OK, 0 rows affected (0.00 sec) mysql>  grant select, insert, delete  on  studenti .* to  [email_address] ; Query OK, 0 rows affected (0.00 sec) Am acordat permisiuni de utilizare a bazei de date.
MySQL Accesul la server via un client Web  folosind aplicatia  PHPMyAdmin Instrument Web de management al serverului MySQL: crearea si invocare de interogari SQL, export/import in/din diverse formate, interfata atractiva in multe limbi etc. http://www.phpmyadmin.net/
 
PHP ofera suport pentru o multitudine de servere/tehnologii de baze de date:  MySQL  – functiile  mysql_*() ,  mysqli_*() PostgreSQL  – functiile  pg_*() SQLite   – functiile  sqlite_*() Oracle  – functiile  ora_*() ODBC  ( Open DataBase Connectivity )  etc. php | bd
Functii predefinite pentru accesul la MySQL: Conectare la serverul MySQL:  mysql_connect() Selectare (utilizare) baza de date:  mysql_select_db() Executia unei interogari:  mysql_query() Raportare de erori:  mysql_errno() ,   mysql_error() Preluarea rezultatelor intr-un tablou:  mysql_fetch_array() Multe altele… php | bd
php | bd
Pentru inceput, vom crea un cont MySQL care sa asigure acces autentificat din programele PHP asupra bazei de date  students (infoiasi)$  mysql –u root mysql mysql>  GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON students.* TO 'tux'@'localhost' IDENTIFIED BY 'p@rola' WITH GRANT OPTION; Query OK, 0 rows affected (0.11 sec) php | bd | exemplu
Folosind  mysql  in linia de comanda sau  PHPMyAdmin , cream tabela  students   cu structura: CREATE TABLE IF NOT EXISTS `students` (  `name` varchar(50) NOT NULL default '',  `year` enum('1','2','3') NOT NULL default '1',  `id` int(11) NOT NULL auto_increment,  `age` smallint(2) unsigned zerofill NOT NULL default '00',  PRIMARY KEY  (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;   php | bd | exemplu
php Cream tabela
php Generam structura
php Confirmarea crearii
php Eventual, inseram o inregistrare
// conectarea la serverul MySQL   $conexiune =  mysql_connect  (' localhost ', ' tux ', ' [email_address] ');  // deschidem baza de date mysql_select_db  (' students ', $conexiune)  // formulam o interogare & o executam   $sql = &quot; select name, year from students where year = 2 &quot;;  $interog =  mysql_query  ($sql, $conexiune);  // salvam într-un tablou înregistrarile gasite   $inreg =  mysql_fetch_array  ($interog);  while ($inreg) {  echo ('<p>Studentul ' . $inreg[' name '] .  ' este in anul ' . $inreg[' year '] . '</p>');  $inreg =  mysql_fetch_array  ($interog);  }  mysql_close  ($conexiune); php | bd | exemplu Afisam numele studentilor din anul 2
SQLite Extensie PHP pentru acces la biblioteca  SQLite Baza de date este stocata ca fisier obisnuit,  fara a fi necesara conectarea la un server de baze de date extern Se ofera suport pentru interogari SQL Detalii la  http://sqlite.org/ Exista posibilitatea administrarii via  PHPSQLiteAdmin :  http://phpsqliteadmin.sourceforge.net   php | bd
// deschidem o baza de date SQLite (daca nu exista, va fi creata) if (($bd =  sqlite_open  (' studenti ', 0666, $er)) === FALSE) { die ($er); } // cream o tabela & inseram o inregistrare sqlite_exec  (' CREATE TABLE studs (name varchar(50), age smallint(2)) ', $bd); sqlite_exec  (&quot; INSERT INTO studs VALUES ('…', &quot; . rand(10, 90) . ' ) ', $bd); // selectam studentii cu virste intre 20 si 50 $rez =  sqlite_query  (' SELECT * FROM studs WHERE age < 50 and  age > 20 ORDER BY age desc ', $bd); // afisam… while ($r =  sqlite_fetch_array  ($rez)) {  echo '<p>' . $r[' name '] . ' are ' . $r[' age '] . ' de ani.</p>';  }   php | bd | exemplu
PHP ( PHP: Hypertext Preprocessor ) Accesarea bazelor de date prin PHP Preliminarii Suportul oferit de PHP Conectivitatea cu MySQL Conectivitatea cu SQLite rezumat
Intrebari…?

More Related Content

PPT
Programare Web - Cookie-uri si sesiuni
PPT
Programare Web - De la CGI la servere de aplicatii
PPT
Programare Web - PHP (o prezentare generala)
PPT
Programare Web - Arhitectura WWW
PDF
Web 2016 (04/13) Programare Web – Dezvoltarea aplicațiilor Web în PHP
PDF
HTML5 în XXX de minute
PDF
HTML5? HTML5!
PDF
Node.js: aspecte esențiale
Programare Web - Cookie-uri si sesiuni
Programare Web - De la CGI la servere de aplicatii
Programare Web - PHP (o prezentare generala)
Programare Web - Arhitectura WWW
Web 2016 (04/13) Programare Web – Dezvoltarea aplicațiilor Web în PHP
HTML5 în XXX de minute
HTML5? HTML5!
Node.js: aspecte esențiale

What's hot (16)

PDF
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.js
PDF
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
PDF
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
PDF
Suita de tehnologii HTML5
PDF
O lectie de anatomie Web. Disectia unui document HTML
PDF
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
PDF
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
PPT
Prezentare USO - Web Application Integration
PDF
Web 2020 09/12: Servicii Web. Paradigma REST
PDF
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
PDF
Căutarea resurselor Web
PDF
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
PDF
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
PDF
Limbajul JavaScript: o prezentare generală
PDF
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
PDF
Web 2016 (12/13) Interacțiune Web cu Ajax. Aplicații Web hibride (mash-up-uri)
Web 2016 (05/13) Programare Web – Dezvoltarea aplicațiilor Web via Node.js
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Suita de tehnologii HTML5
O lectie de anatomie Web. Disectia unui document HTML
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Prezentare USO - Web Application Integration
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Căutarea resurselor Web
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (13/13) Perspective Web la nivel de client. Limbajul ES6
Limbajul JavaScript: o prezentare generală
CLIW 2015-2016 (8/13) JavaScript în navigatorul Web. De la DOM la Ajax şi mas...
Web 2016 (12/13) Interacțiune Web cu Ajax. Aplicații Web hibride (mash-up-uri)
Ad

Similar to Programare Web - Accesul la baze de date prin PHP (20)

PPTX
Analiza si evolutia vulnerabilitatilor web
PPTX
05 db server_deployment_ro
PDF
proiectare si programare orientata obiect 9
PPTX
Conectarea sgbd acces la surse de date externe
PDF
Notiuni avansate MySQL - LVLE 2009
PDF
Aplicații Firefox OS cu HTML5
PPT
Prezentare Programare Web - Site de administrare blog
DOC
Fii linked data
DOC
Fii linked data
DOC
Fii linked data
PPTX
Conectarea sgdb access
PPTX
Licenta web aplicatie.pptx
PPTX
Iasi code camp 20 april 2013 designing res tfull webservices and web apis - r...
PDF
Arhitecturi de cacheing server side - LVLE 2009
PPT
Programatica Enterprise 2011 - Zitec
PDF
Cum instaleziapachesimysql peraspberrypi
PPTX
Drupal Global Training Days - 31 May 2014
PPTX
Conectarea SGDB Access la surse de date externe
PPSX
[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2
PDF
FiiPractic 2015 - Adroid Pro - Day 5 - SQL Day
Analiza si evolutia vulnerabilitatilor web
05 db server_deployment_ro
proiectare si programare orientata obiect 9
Conectarea sgbd acces la surse de date externe
Notiuni avansate MySQL - LVLE 2009
Aplicații Firefox OS cu HTML5
Prezentare Programare Web - Site de administrare blog
Fii linked data
Fii linked data
Fii linked data
Conectarea sgdb access
Licenta web aplicatie.pptx
Iasi code camp 20 april 2013 designing res tfull webservices and web apis - r...
Arhitecturi de cacheing server side - LVLE 2009
Programatica Enterprise 2011 - Zitec
Cum instaleziapachesimysql peraspberrypi
Drupal Global Training Days - 31 May 2014
Conectarea SGDB Access la surse de date externe
[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2
FiiPractic 2015 - Adroid Pro - Day 5 - SQL Day
Ad

More from Sabin Buraga (20)

PDF
Web 2020 01/12: World Wide Web – aspecte arhitecturale
PDF
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
PDF
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
PDF
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
PDF
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
PDF
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
PDF
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
PDF
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
PDF
STAW 01/12: Arhitectura aplicaţiilor Web
PDF
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
PDF
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
PDF
STAW 04/12: Programare Web: Node.js
PDF
STAW 05/12: Arhitectura navigatorului Web
PDF
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
PDF
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
PDF
STAW 08/12: Programare Web. Suita de tehnologii HTML5
PDF
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
PDF
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
PDF
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
PDF
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 04/12: Programare Web: Node.js
STAW 05/12: Arhitectura navigatorului Web
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...

Programare Web - Accesul la baze de date prin PHP

  • 1. Programare Web Accesul la bazele de date prin PHP Dr. Sabin-Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/
  • 2. PHP ( PHP: Hypertext Preprocessor ) Accesarea bazelor de date prin PHP Preliminarii Suportul oferit de PHP Conectivitatea cu MySQL Conectivitatea cu SQLite cuprins
  • 3. baze de date Organizarea si regasirea facila a informatiilor, conduc la stocarea acestora in baze de date (relationale) Fiecare baza de date contine mai multe tabele O tabela este structurata în coloane (cimpuri) si rânduri (înregistrari) Fiecare cimp se desemnat de un nume si un tip de date (numeric, sir de caractere, data,...) Pentru facilitarea cautarii/sortarii pot fi asociati si indecsi , conform valorilor unui/unor cimp(uri) Intre tabelele unei baze de date se pot defini diverse relatii
  • 4. baze de date Ansamblul de aplicatii care realizeaza managementul bazelor de date se numeste sistem de baze de date relational ( Relational DataBase Management System – RDBMS ) DB2 Informix Microsoft SQL Server MySQL Oracle PostgreSQL …
  • 5. baze de date Operatiile asupra bazelor de date, tabelelor, valorilor inregistrarilor etc. se specifica intr-un limbaj declarativ: SQL ( Structured Query Language ) Accesul la un server de gestiune a bazelor de date se realizeaza via un client
  • 6. MySQL Arhitectura open source Foarte rapid, optimizat pentru acces la date www.mysql.com Larg folosit in cadrul solutiilor de comert electronic ( e.g. , aplicatii Web de tip e-shop ) API-uri disponibile in majoritatea limbajelor de programare (C, C++, Perl, PHP, Python,…) Componente: server ( mysqld ) + client ( mysql , PHPMyAdmin , script CGI, program PHP,…) Manualul: http://dev.mysql.com/doc/mysql/en
  • 7. MySQL Alte facilitati: Crearea “din zbor” de variabile ce pot fi ulterior refolosite in interogari Replicarea datelor Paleta larga de functii, operatori si structuri de control Suport pentru triggers si clusters Multe altele
  • 8. MySQL Accesul la server via un client in linie de comanda: mysql [ optiuni ] [ nume_baza_de_date ] Optiuni uzuale: -h masina (numele masinii/serverului) -p [ parola ] (parola pentru autentificare) -u utilizator (numele utilizatorului) Exemplu: mysql –u tux –p Alte detalii: info mysql (in UNIX/Linux)
  • 9. MySQL | exemplu (infoiasi)$ mysql –u tux –p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 4.0.11a-gamma Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use clienti; Reading table information for completion of table and column names Database changed
  • 10. MySQL | exemplu mysql> select nume, prenume from comenzi; +---------+---------+ | nume | prenume | +---------+---------+ | Savon | Buritin | | Vigoniu | Bonzui | | Nilla | Sapo | | Lzian | Xi | | Tin | Debre | +---------+---------+ 5 rows in set (0.01 sec)
  • 11. MySQL | exemplu mysql> select nume from comenzi where id > 3; +-------+ | nume | +-------+ | Lzian | | Tin | +-------+ 2 rows in set (0.11 sec)
  • 12. MySQL Alte operatii uzuale: insert update delete create database create table drop table grant
  • 13. MySQL | exemplu mysql> create database studenti ; Query OK, 1 row affected (0.00 sec) mysql> use studenti Database changed mysql> create table note ( -> nume char (40), -> adresa char(40), -> grupa integer, -> nota integer not null); Query OK, 0 rows affected (0.01 sec) mysql> insert into note values -> (&quot; Radu Filip &quot;, &quot; [email_address] &quot;, 2 , 10 ); Query OK, 1 row affected (0.00 sec) Am creat o baza de date, iar in cadrul ei o tabela.
  • 14. MySQL | exemplu mysql> grant usage on studenti .* to [email_address] ; Query OK, 0 rows affected (0.00 sec) mysql> grant select, insert, delete on studenti .* to [email_address] ; Query OK, 0 rows affected (0.00 sec) Am acordat permisiuni de utilizare a bazei de date.
  • 15. MySQL Accesul la server via un client Web folosind aplicatia PHPMyAdmin Instrument Web de management al serverului MySQL: crearea si invocare de interogari SQL, export/import in/din diverse formate, interfata atractiva in multe limbi etc. http://www.phpmyadmin.net/
  • 16.  
  • 17. PHP ofera suport pentru o multitudine de servere/tehnologii de baze de date: MySQL – functiile mysql_*() , mysqli_*() PostgreSQL – functiile pg_*() SQLite – functiile sqlite_*() Oracle – functiile ora_*() ODBC ( Open DataBase Connectivity ) etc. php | bd
  • 18. Functii predefinite pentru accesul la MySQL: Conectare la serverul MySQL: mysql_connect() Selectare (utilizare) baza de date: mysql_select_db() Executia unei interogari: mysql_query() Raportare de erori: mysql_errno() , mysql_error() Preluarea rezultatelor intr-un tablou: mysql_fetch_array() Multe altele… php | bd
  • 20. Pentru inceput, vom crea un cont MySQL care sa asigure acces autentificat din programele PHP asupra bazei de date students (infoiasi)$ mysql –u root mysql mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON students.* TO 'tux'@'localhost' IDENTIFIED BY 'p@rola' WITH GRANT OPTION; Query OK, 0 rows affected (0.11 sec) php | bd | exemplu
  • 21. Folosind mysql in linia de comanda sau PHPMyAdmin , cream tabela students cu structura: CREATE TABLE IF NOT EXISTS `students` ( `name` varchar(50) NOT NULL default '', `year` enum('1','2','3') NOT NULL default '1', `id` int(11) NOT NULL auto_increment, `age` smallint(2) unsigned zerofill NOT NULL default '00', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; php | bd | exemplu
  • 25. php Eventual, inseram o inregistrare
  • 26. // conectarea la serverul MySQL $conexiune = mysql_connect (' localhost ', ' tux ', ' [email_address] '); // deschidem baza de date mysql_select_db (' students ', $conexiune) // formulam o interogare & o executam $sql = &quot; select name, year from students where year = 2 &quot;; $interog = mysql_query ($sql, $conexiune); // salvam într-un tablou înregistrarile gasite $inreg = mysql_fetch_array ($interog); while ($inreg) { echo ('<p>Studentul ' . $inreg[' name '] . ' este in anul ' . $inreg[' year '] . '</p>'); $inreg = mysql_fetch_array ($interog); } mysql_close ($conexiune); php | bd | exemplu Afisam numele studentilor din anul 2
  • 27. SQLite Extensie PHP pentru acces la biblioteca SQLite Baza de date este stocata ca fisier obisnuit, fara a fi necesara conectarea la un server de baze de date extern Se ofera suport pentru interogari SQL Detalii la http://sqlite.org/ Exista posibilitatea administrarii via PHPSQLiteAdmin : http://phpsqliteadmin.sourceforge.net php | bd
  • 28. // deschidem o baza de date SQLite (daca nu exista, va fi creata) if (($bd = sqlite_open (' studenti ', 0666, $er)) === FALSE) { die ($er); } // cream o tabela & inseram o inregistrare sqlite_exec (' CREATE TABLE studs (name varchar(50), age smallint(2)) ', $bd); sqlite_exec (&quot; INSERT INTO studs VALUES ('…', &quot; . rand(10, 90) . ' ) ', $bd); // selectam studentii cu virste intre 20 si 50 $rez = sqlite_query (' SELECT * FROM studs WHERE age < 50 and age > 20 ORDER BY age desc ', $bd); // afisam… while ($r = sqlite_fetch_array ($rez)) { echo '<p>' . $r[' name '] . ' are ' . $r[' age '] . ' de ani.</p>'; } php | bd | exemplu
  • 29. PHP ( PHP: Hypertext Preprocessor ) Accesarea bazelor de date prin PHP Preliminarii Suportul oferit de PHP Conectivitatea cu MySQL Conectivitatea cu SQLite rezumat