PHP-插入前根据数据库检查值

PHP-插入前根据数据库检查值,php,ms-access-2010,Php,Ms Access 2010,我正在编写一个脚本,从文件中提取数据,对照“msubject”字段的字符数进行检查,然后放在屏幕上。之后,我尝试将屏幕上的值插入到数据库中,但在此之前,我需要检查该行是否已经存在。我遇到的问题是对照几个值进行检查,如果它们确实存在,就不要将其放入数据库中。当前,如果为true或false,数据仍将被放入数据库中。我没有使用mysql,我使用msaccess作为我的数据库。不幸的是,这是我唯一可以使用的数据库。下面是我正在使用的代码。你知道为什么如果是真的还是假的,数据会被放入数据库吗 <?

我正在编写一个脚本,从文件中提取数据,对照“msubject”字段的字符数进行检查,然后放在屏幕上。之后,我尝试将屏幕上的值插入到数据库中,但在此之前,我需要检查该行是否已经存在。我遇到的问题是对照几个值进行检查,如果它们确实存在,就不要将其放入数据库中。当前,如果为true或false,数据仍将被放入数据库中。我没有使用mysql,我使用msaccess作为我的数据库。不幸的是,这是我唯一可以使用的数据库。下面是我正在使用的代码。你知道为什么如果是真的还是假的,数据会被放入数据库吗

<?php
$dbco = realpath('C:\xampp\htdocs\db.accdb');
$conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$dbco",'','') or die ("Unable to connect to server");

$query = "SELECT * FROM CriticalMeetings";
$result = odbc_exec ($conn, $query);
$filename = "test.tsv";
$today = date('Y-m-d');
$file = file($filename);

foreach($file as $line)
{
    list($start_datetime, $end_datetime, $organizer, $msubject)= explode("\t", $line);
    $count = mb_strlen($msubject);
    if ($count > 79)
    {

    //Start Date-Time split
    $StartDatetime = new DateTime($start_datetime);
    $start_date = $StartDatetime->format('Y-m-d');
    $start_time = $StartDatetime->format('H:i:s');

    //End Date-Time split
    $EndDatetime = new DateTime($end_datetime);
    $End_date = $EndDatetime->format('Y-m-d');
    $End_time = $EndDatetime->format('H:i:s');

        if ($start_date = $today)
        {
        echo "<tr>";
        echo "<td>$start_date</td>";
        echo "<td>$start_time</td>";
        echo "<td>$organizer</td>";
        echo "<td>$msubject</td>";
        echo "</tr>";
        }
    while($row = odbc_fetch_array($result)) 
    {
        $db_start_date = ($row["StartDate"]);
        $db_start_time = ($row["StartTime"]);
        $db_organizer = ($row["Organizer"]);
        $db_MeetingSubject = ($row["MeetingSubject"]);
        echo "<br />";
        echo "$db_organizer";

        if ($organizer == $db_organizer)
        {
        //Replace apostrophe    
        $msubject = str_replace( "'", "&#39;", $msubject);
        //Insert values into db
        $input="INSERT INTO CriticalMeetings (StartDate, StartTime, Organizer, MeetingSubject)
        VALUES ('$start_date', '$start_time', '$organizer', '$msubject')";
        $rs=odbc_exec($conn,$input);
        if (!$rs)
            {
            die('Error: ' . odbc_error());
            }
        }
        else
        {
        echo "data not in db";
        }   

    } 

    }
}
?>


“我正在检查几个值,如果它们确实存在,不将其放入数据库”-您正在检查哪些值?@OzairKafray-我正在检查开始日期、开始时间、组织者和msubject。为了测试的目的,我只是尝试一下if($organizer==$db\u-organizer)。你能从你在问题中阅读的文件中粘贴一行样本吗。这将有助于调试。提示:如果要在变量之间进行严格检查,应按以下方式进行检查:
$organizer===$db\U organizer
如果这对您有效,我将在回答中详细解释。@OzairKafray-使用三等号无效请从您在问题中阅读的文件中添加一行示例。