我想检查新输入的数据是否已经存在于数据库中,我搜索了它并尝试了很多次,但它不起作用数据库接受已经存在的数据,我正在使用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
是的,但你可以很容易地处理该错误 –