我想檢查新輸入的數據是否已經存在於數據庫中,我搜索了它並嘗試了很多次,但它不起作用數據庫接受已經存在的數據,我正在使用PDO和PHP。如何檢查數據庫中是否有相同的數據?
數據庫已1個表稱爲數據和這個表有2列的姓名和電話
下面是代碼:
$connect = new PDO("mysql:host ={$host}; dbname={$database}" , $username , $password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$statement = $connect->prepare("SELECT * FROM data WHERE name= :sname AND phone = :sphone");
$statement->execute(array("sname" => $name , "sphone" => $phone));
$count = $statement->rowCount();
if($count > 0){
}else{
$q = $connect->prepare("INSERT INTO data(name,phone) VALUES(:aname, :aphone)");
$q->execute(array("aname" => $name,"aphone" => $phone));
}
爲什麼不使用的數據,而不是唯一索引'(姓名,電話)'防止重複行的插入? –
這不會導致SQL錯誤嗎? – Danny
是的,但你可以很容易地處理該錯誤 –