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){ $query->closeCursor(); exit; } 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){ } else{ } } } catch(PDOException $e){ }
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.