Witam,
dopiero zaczynam z PDO więc proszę o wyrozumiałość ;p
Mam taki kodzik:
$pdo=new PDO('mysql:host=localhost;dbname=', '', '');
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try{
$query=$pdo->exec("SELECT pesel FROM nauczyciel WHERE pesel ='$pesel'");
//$query->bindValue(':pesel', $pesel, PDO::PARAM_STR);
//$wynik=$query->execute();
$wynik=$pdo->query($query);
$ile=$wynik->num_rows;
if($ile>0){
echo ('Nauczyciel o podanym PESELU: '.$pesel.' jest już w bazie'); $query->closeCursor();
}
else{
$wstawienie=$pdo->prepare("INSERT INTO `nauczyciel` VALUES('', '$imie', '$nazwisko', '$pesel',
'$data_urodzenia', '$miejsce_urodzenia','$ulica', '$nr_domu', '$nr_mieszkania', '$miasto',
'$kod_pocztowy', '$e_mail', '$tel_kontaktowy')");
$rezultat = $wstawienie -> execute();
if($rezultat>0){
echo ('Dodanie zakończone sukcesem'); }
else{
echo ('Nie można dodać'); }
}
}
catch(PDOException $e){
echo 'Błąd: <br />'.$e->getMessage(); }
Problem tkwi w tym, że źle stosuje selecta. Albo każdy wprowadzony(w formularzu) pesel "jest już w bazie" albo nie sprawdza i dodaje wszystko(z bindValue dodaje wszystko). Dodam jeszcze że INSERT działa bez zarzutu.
Ten post edytował polishmilk 23.03.2010, 10:19:44