2013-02-08 53 views
0

我有这个代码检查我的数据库表“文件”中是否存在不在目录“video/test”中的任何文件名。我一直试图编辑这段代码,以便它做相反的事情,即检查目录“video/test”中是否存在不在数据库表“文件”中的任何文件名。我在将内容切换到条款的另一方时遇到了一些麻烦。我收到了mysql语法错误。谁能帮我出这个检查不在mysql数据库中的文件的目录

$filenames = scandir("video/test"); 
$sql = sprintf('SELECT * FROM files WHERE filename not in ("%s")', implode('","', $filenames)); 
+0

你的意思是这样的? $ sql = sprintf('SELECT COUNT(*)FROM files WHERE filename in(“%s”)',implode('“,”',$ filenames)); – 2013-02-08 18:39:54

+0

你能发布你得到的具体错误吗? – Damp 2013-02-08 18:40:26

+0

'var_dump($ sql)',你会看到发生了什么。 – inhan 2013-02-08 18:43:06

回答

0

事情是这样的:

$filenames = scandir("video/test"); 
$files = implode(",", $filenames); 
$sql = sprintf("SELECT * FROM files WHERE filename not in (".$files.")"); 

试试看;)

Saludos。