Tartalomjegyzék

< 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:

index.php
<?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:

index.php
<?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!';
}