php - Mysql中重复行的条目

标签 php mysql sql duplicates

我需要你帮助我的脚本。我正在尝试将值插入到 maintable 中,但在插入之前,我必须检查一行是否与我插入的行完全匹配。如果存在匹配,那么它应该回显记录存在,如果不匹配,它应该继续并插入到表中。问题是它为 $duplicate 返回 0,而实际上有一行与我在 HTML 页面中输入的条目匹配,因此它会继续进行并插入重复项。 请问这可能是什么问题?

{
    $query = mysql_query("SELECT m.matric_no, m.course_code, m semester_name, m.level, m.session 
                          FROM  maintable AS m 
                          WHERE m.matric_no = '".$matric_no."'
                          AND m.course_code = '".$course_code."'
                          AND m.semester_name = '". $semester_name."'
                          AND m.level = '".$level."'
                          AND m.session = '".$session."'") ;

    $duplicate = mysql_num_rows($query);

    if ($duplicate > 0 ) 
        echo "$duplicate" ;
    {
        echo "Record Exists"     
    }
    else
    {

        $query = "INSERT INTO maintable (matric_no, course_code, semester_nam,          session, level) 
                   VALUES ('".$matric_no."', 
                       '".$course_code."',
                       '".$semester_name."',
                       '".$session."', 
                       '".$level."')" ;
        mysql_query($query) or
            die (mysql_error());   

        echo"Record Inserted"; 
    }

请原谅我的格式,我是用手机打字的,我并没有对这个社区不尊重的意思。

最佳答案

您的格式有点乱,这就是为什么您发现错误发生时很难发现的原因。尝试坚持一致的格式风格。这应该可以解决问题:

$check = mysql_query("SELECT * FROM maintable WHERE matric_no = '$matric_no' AND course_code = '$course_code' AND m.semester_name = '$semester_name' AND m.level = '$level' AND m.session = '$session'");

if(mysql_num_rows($check))
{
   echo 'Record exists!';
}
else
{
   $query = "INSERT INTO maintable (matric_no, course_code, semester_nam, session, level) VALUES ('$matric_no','$course_code','$semester_name','$session','$level')";
   mysql_query($query) or die (mysql_error());
}

关于php - Mysql中重复行的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9960009/

相关文章:

mysql - 如何从联结表中多次引用单个表

sql - Oracle表中根据条件随机记录

php - 重新调整网页大小以适应访问者的显示器分辨率

php - 订单匹配查询

php - Laravel - 如何替换数据库中的字符串

php - MYSQL 选择与数字相同的列名作为别名不起作用

sql - 创建SQL Server回滚脚本的最佳方法?

php - 连接时如何确定 2 列的日期

php - 在 PHP 5.2.6 中获取月份的第一天?

php - 如何解决在 tcpdf 中添加自定义字体会导致点状输出?