如何检查文件的数据是否已存在于数据库中

时间:2013-08-23 02:59:15

标签: php mysql database

我目前遇到的问题是,如果我运行这个php更多,那么一旦我当前在数据库中的图像数据将复制。例如,我上传了5张图片到我的上传文件,然后点击了脚本,一切都很好。当我添加另一个图像并再次单击该脚本时,我从我的数据库中的6个图像变为11.我想知道如何修改我的代码以便我可以解决这个问题。

include('mysql.php');

if ($handle = opendir('images')) {

    /* This is the correct way to loop over the directory. */
    while (false !== ($file = readdir($handle))) {
        if($file!='.' && $file!='..') {
            $images[] = "('".$file."')";
        }
    }

    closedir($handle);
}

/* insert new record into the table images with the filename */
$query = "INSERT INTO images (filename) VALUES ".implode(',', $images)." ";
if (!mysql_query($query)) {
    print mysql_error();
}
else {
    print "finished installing your images!";
}

1 个答案:

答案 0 :(得分:4)

您可以将“文件名”列设为唯一键并使用INSERT IGNORE

有关插入忽略的更多信息:http://dev.mysql.com/doc/refman/5.5/en/insert.html