2011-03-17 61 views
0

作为从Windows服务器迁移到Linux服务器的一部分,我必须清理大量的文件名。Drupal 6 db_query文件表

我的问题是,当我执行:

db_query("UPDATE {files} SET filename = '%s' AND filepath = '%s' WHERE fid = %d", $file->filename, $file->filepath, $file->fid);

,之后选择$文件 - > FID文件名字段的值为“0”

如果我倾倒内容在执行文件之前和之后查询文本文件名字段包含我已指定文件路径正确存储位置的文件名。

回答

1

DAMN!将AND放入更新查询中将不会产生预期的结果... MySQL允许这样做,但它不是这样:)

1

使用逗号而不是AND。

也可能想使用drupal_write_record()而不是db_query。如果添加要检查的键的第三个参数,drupal_write_record将自动更新预先存在的行。在你的情况下,你可以使用文件ID。