Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

PHP VI Adatbázisok, MySQL

Hasonló előadás


Az előadások a következő témára: "PHP VI Adatbázisok, MySQL"— Előadás másolata:

1 PHP VI Adatbázisok, MySQL

2 phpMyAdmin Wamp ikon

3 phpMyAdmin - Adatbázisok
Új adatbázis Adatbázisok

4 phpMyAdmin - Tábák Törlés Táblák Új tábla

5 phpMyAdmin - Táblák Hozzuk létre a ‘Persons’ táblát, 2 mezővel:
id (bigint, not null, auto_increment, primary) name (varchar 255, not null, unique) Létrehozás

6 phpMyAdmin - Táblák Hozzuk létre a ‘Currency’ táblát!
create table currency ( id bigint not null auto_increment, name varchar(255) not null, rate double not null, primary key (id), unique (name) ) SQL parancsok

7 SQL parancsok Tábla létrehozása: Tábla törlése:
create table (....) Tábla törlése: drop table Rekord beszúrása táblába: insert into table(...) values(...) Lekérdezés: select col1, col2... from table where .... Törlés: delete from table Módosítás: update table set(...)

8 Feladatok insert into persons(name) values(‘Nikolaj’);
insert into persons(name) values(‘Svan’); insert into persons(name) values(‘Johann’); select * from persons; select * from persons where name like ‘Nik%’; select id from persons where name = ‘Svan’; update persons set name = ‘Sven’ where id = 2; delete from persons where name = ‘Johann’;

9 Idegen kulcsok Egy táblának egy mezője hivatkozik egy másik tábla mezőjére. Pl ha tároljuk, hogy kinek mennyi pénze van egy adott pénznemből, akkor hivatkoznunk kell a személyre, illetve a pénznemre. create table money ( person_id bigint not null, currency_id bigint not null, value double not null, foreign key(person_id) references persons(id) on update cascade on delete restrict, foreign key(currency_id) references currency(id) on update cascade on delete restrict);

10 SQL http://www.w3schools.com/sql/

11 Feladatok Töröljük eddigi tábláinkat (persons, currency, money)
A db.sql szöveges állomány az előző órai adatbázist tartalmazza. A phpMyAdmin-nal futtasuk le a fájlban található utasításokat. (Copy/Paste –eljük be a teljes tartalmat és GO)

12 PHP + MySQL Kapcsolódás: Adatbázis választás: Lekérdezés:
$conn = mysql_connect($host, $user, $pass); Adatbázis választás: mysql_select_db($db, $conn); Lekérdezés: $result = mysql_query($query, $conn); Adatok kinyerése: $record = mysql_fetch_array($result); Memória felszabadítás: mysql_free_result($result); Kapcsolat megszűntetése: mysql_close($conn);

13 Feladatok $conn = mysql_connect(‘localhost’, ‘root’);
if (!$conn) die(‘connection error: ’ . mysql_error()); if (!mysql_select_db(‘mysql’, $conn)) die(‘database error: ’ . mysql_error()); $result = mysql_query(‘select id, name from persons’, $conn); if (!result) die(‘query error: ’ . mysql_error()); while ($rec = mysql_fetch_array($result)) echo ‘id=‘ . $rec[‘id’] . ‘; name=‘ . $rec[‘name’] . ‘<br/>’; mysql_free_result($result); mysql_close($conn);

14 Biztonság Hozzuk létre a registration.sql –ben megadott táblát, valamint használjuk a login.html és auth.php állományokat. Teszteljük le a 3 felhasználót, hogy helyesen működik-e a beléptető. Használjuk a következőket: Username: fake' or 1=1 or '1'='1 Password: fake Kommentezzük ki az echo $query sort! $u=addslashes($u); $p=addslashes($p);

15 Serialize Az előző órán obejtkum serialize:
__wakeup(), __sleep() metódus Adatbázis kapcsolatokat nem mentünk el! Helyette: class Connection { protected $conn private $host, $user, $pass, $db; public function __sleep() { return array(‘host’, ‘user’, ‘pass’, ‘db’); } public function __wakeup() { $this->connect(); private function connect() { $this->conn = mysql_connect( );

16 Feladatok Készítsük el az előző órai DAO interfészt megvalósító MySQL adatbázison működő osztályunkat MySqlDAO néven.


Letölteni ppt "PHP VI Adatbázisok, MySQL"

Hasonló előadás


Google Hirdetések