2012-02-08 91 views
0

我正在構建一個自定義的模塊,其中包含一個自定義的內容類型。我已經定義了內容類型並創建了我的表單。hook_insert讓我困惑

「標題」正在與相應的nid放在{node}表中,但是我需要將我的其餘數據輸入到我的自定義表中。

它:(

我使用hook_insert

這只是不工作的功能

function svm_mail_insert($node) { 
db_query("INSERT INTO {svm_mail_esp_acc} (vid, nid, api_name, esp_id, api_key) VALUES (%d, %d, '%s', %d, %s)", $node->vid, $node->nid, $node->account, $node->esp_refferer, $node->api_key); 
} 

任何想法什麼林做錯了,還怎麼能看到$節點陣列後表單已處理,但在數據輸入到數據庫之前,以確保$節點實際上正在填充?

回答

1

對不起,聽起來像一個解析器,但.. .. 。您的SQL語法有錯誤!

您將字符串值放入查詢中,而不用在其周圍引用引號...... MySQL將適合這一點。這是api_key列的最後一個值,它缺少引號:

function svm_mail_insert($node) { 
    db_query("INSERT INTO {svm_mail_esp_acc} (vid, nid, api_name, esp_id, api_key) VALUES (%d, %d, '%s', %d, '%s')", $node->vid, $node->nid, $node->account, $node->esp_refferer, $node->api_key); 
} 
+0

嘖嘖,我討厭它,當這種情況發生時!我花了兩天尋找一個邏輯錯誤,而不是語法錯誤。 謝謝夥伴,你真的救了我在那裏:) – Beyerz 2012-02-08 09:56:21

+1

不用擔心我已經做了幾百次:) – Clive 2012-02-08 09:57:44