Cześć, czytałem trochę dziś o PDO i postanowiłem użyć go w skryptach. Nie jestem jednak pewny czy dobrze wszystko zrozumiałem i napisałem, więc dobrze by było gdyby ktoś to sprawdził i poprawił, bądź pokazał jak napisać to lepiej. Przykładowy kod: rejestracja.
function rejestruj($nick,$haslo,$haslo2,$email){
$lacz=lacz();
throw new Exception('Za krotki nick.');
$wynik=$lacz->prepare("SELECT nick FROM user WHERE nick=:nick");
$wynik->bindValue(':nick',$nick,PDO::PARAM_STR);
$ilosc=$wynik->execute();
throw new Exception('podany nick juz istnieje.');
throw new Exception('Za krotkie haslo.');
if($haslo!=$haslo2)
throw new Exception('Hasla nie sa takie same.');
if(!preg_match("/^[a-zA-Z0-9.-]+@[a-zA_Z0-9.-]+[a-zA-Z0-9.-]+$/",$email)) throw new Exception('Adres email jest niepoprawny');
$wynik=$lacz->prepare("SELECT email FROM user WHERE email=:email");
$wynik->bindValue(':email',$email,PDO::PARAM_STR);
$ilosc=$wynik->execute();
throw new Exception('podany email juz istnieje.');
$sql="INSERT INTO user (nick,haslo,email) VALUES (:nick,:haslo,:email)";
$wynik=$lacz->prepare($sql);
$wynik->bindValue(':nick',$nick,PDO::PARAM_STR);
$wynik->bindValue(':haslo',$haslo,PDO::PARAM_STR);
$wynik->bindValue(':email',$email,PDO::PARAM_STR);
$wynik->execute();
if($wynik)
echo 'Rejestracja pomyslna.'; }
Z tego co wyczytałem używając bindValue nie muszę już używać na zmiennych innych funkcji typu: stripslashes itp., ponieważ ona sama przed tym zabezpiecza. Może ktoś dokładniej sprecyzować jak to jest?