1
Drupal數據庫層API說,大約db_query爲什麼不用db_query? (Drupal的數據庫層)
不要使用此功能INSERT,UPDATE或DELETE查詢。這些應該分別通過db_insert(),db_update()和db_delete()來處理。 (source)
我認爲這也適用於其他數據庫層。有人知道爲什麼嗎?它不安全,效率低下等?
Drupal數據庫層API說,大約db_query爲什麼不用db_query? (Drupal的數據庫層)
不要使用此功能INSERT,UPDATE或DELETE查詢。這些應該分別通過db_insert(),db_update()和db_delete()來處理。 (source)
我認爲這也適用於其他數據庫層。有人知道爲什麼嗎?它不安全,效率低下等?
就我所知,這只是一個約定。當然,運行INSERT
/UPDATE
到db_query()
沒有任何技術問題;它所做的只是對數據庫運行一個vanilla SQL查詢,所以它肯定會起作用。
我想象的文檔只是指出這些操作有專門的功能,並且這些應該是首選的直接運行SQL INSERT
等。
「結構化」的查詢(即那些使用db_select()
,db_insert()
,db_update()
和db_merge()
)也將獲得通過hook_query_alter()
正在執行之前,他們正在運行的額外好處,這意味着系統的其他部分可以改變他們的要求。使用db_query()
時,您不會獲得相同的功能。