为什么我的PHP代码INSERT命令有时会插入重复数据?

时间:2018-07-13 10:34:40

标签: php mysql

这是我的代码。一切正常。但是有时它会插入重复数据。为什么?我的意思是我放置了代码,因此不应提交相同的quize_nophone组合。但是有时会插入相同的quize_nophone组合。为什么会这样?

$sql = mysqli_query($con,"SELECT * FROM user_mm WHERE phone='$phone'");
while($row = mysqli_fetch_array($sql)) {
    $name = $row['name'];
}

date_default_timezone_set("Asia/Dhaka");
$date = date('Y-m-d');
$time = date('h:i:s a', time());

$result = mysqli_query($con,"SELECT id FROM score_mm WHERE phone='$phone' AND quize_no='$quize_no' ");

$count=mysqli_num_rows($result);
if($count>0)
{
    echo "1";
}
else
{
    // Here I am Inserting Value in to Database
    $query = mysqli_query($con,"insert into score_mm(name, phone, quize_no, score, date, time) values ('$name', '$phone','$quize_no', '$score', '$date', '$time')");
    echo "Score Submitted Succesfully";
    mysqli_close($con); 
}

1 个答案:

答案 0 :(得分:0)

如果确实永远不会出现在该表中出现重复的EFquize_no组合的情况,那么您要做的第一件事就是更改表结构以添加唯一键这些列。

例如: phone

这不会解决导致多个插入请求被调用的任何问题,但这至少可以通过不允许任何行具有重复的值组合来保护您的数据完整性。