< PHP adatbázis

PHP MySQL

Beszúrás

A következő példa használatához szükség van a MySQL adatbázisban egy joe nevű felhasználóra, aki hozzáfér a zoldzrt nevű adatbázishoz. Az adatbázisban pedig van egy „szemely” nevű tábla, amelynek mezői a következők:

id	keresztnev	vezeteknev	email	kor

Szeretnénk beszúrni egy dolgozót:

<?php $con = mysql_connect("localhost","joe","12345"); if(!$con) { die('Nem tudok kapcsolódni: ' . mysql_error()); } if(!mysql_select_db("zoldzrt", $con)) { die('Az adatbázis kiválasztása sikertelen!'); } $knev = "Nagy"; $vnev = "Jozsef"; $email = "joe\@zold.and"; $kor = 31; $sql = "INSERT INTO szemely (keresztnev, vezeteknev, email, kor) VALUES (\'$knev\', \'$vnev\', \'email\', $kor);"; mysql_query($sql); print $sql . "<br>"; print "Kiiras vege"; mysql_close($con);

Lekérdezés

Az alábbiakban egy olyan példát látunk, ahol a die() függvény helyett az echo, exit utasítást használom hiba esetén. Példa lekérdezésre:

<?php $conn = mysql_connect("localhost", "felhasznalonev", "jelszo"); if (!$conn) { echo "Nem tudok kapcsolódni az adatbázishoz. : " . mysql_error(); exit; } if (!mysql_select_db("adatbazisnev")) { echo "Az adatbázis nem választható: " . mysql_error(); exit; } $sql = "SELECT id as id, nev, fizetes FROM dolgozok WHERE id = 2"; $result = mysql_query($sql); if (!$result) { echo "A ($sql) kérdés futtatása sikertelen: " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "Nincsenek sorok, nem tudok mit kiírni."; exit; } while ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"]; } mysql_free_result($result); mysql_close($con);

Kódolás beállítása

A kapcsolódás után, ha már van kapcsolatobjektumunk, beállíthatjuk a karakterkódolást:

$con = mysql_connect("localhost", "joska", "titok"); if(!$con) { die('Hiba az adatbázis-szerverhez való kapcsolódás során!'; } mysql_set_charset("utf8",$con);

Vegyük észre, hogy az „utf” és a „8” közzé nem tettünk kötőjelet.

Vizsgálhatjuk a karakterkódolást is:

$con = mysql_connect("localhost", "joska", "titok"); if(!$con) { die('Hiba az adatbázis-szerverhez való kapcsolódás során!'; } if(!mysql_set_charset("utf8",$con)) { die('Hiba a karakterkódolás beállítása során!'); }

A beszúrás sikerességének ellenőrzése

$sql = "INSERT INTO dolgozok SET nev='Jóska'"; if (mysql_query($sql) or die(mysql_error())) { echo 'Beszúrás OK'; } else { echo 'Sikertelen beszúrás!'; }