2011-03-17 60 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。