2014-08-27 24 views
0

我正在使用WP中的準備語句,並且我需要與添加「WHERE」相同的語句。我必須做好準備。我試圖把它放在值之後,但不起作用。它適用於沒有「WHERE」的情況,但這次我真的需要這種說法。如何使用WHERE編寫SQL準備語句

貝婁,你可以找到我試過的東西。此外,我試圖將「$ zan_id」放在其他值之後,但不起作用

$wpdb->query($wpdb->prepare(
       "INSERT INTO wp_tool 
       (tool_id, tool_content , tool_title) 
       VALUES (%d, %s , %s) WHERE id=$zan_id 
       ", 
       $tool, 
       $tool_content, 
       $tool_title 
      )); 

回答

3

您應該只對新表項使用INSERT。如果條目已經存在,則應使用UPDATE 例如。

UPDATE wp_tool SET tool_id=$tool, tool_content=$tool_content, tool_title=$tool_title WHERE id=$zan_id 

此外,由於您使用的PDO,你應該做到以下幾點

$wpdb->prepare("UPDATE wp_tool SET tool_id=?, tool_content=?, tool_title=? WHERE id=?"); 
$wpdb->execute(array($tool,$tool_content,$tool_title,$zan_id)); 

,這也是假設你已經PDO配置正確,也就是綁定的參數時忽略類型。

+1

。 。我適度地重新格式化了代碼,以便我可以提出答案。 – 2014-08-27 14:22:50

+0

我知道,我已經嘗試過了,但我不想更新整個表格,我只需要這三個字段。但是,我需要在這些世界中增加新的價值觀,而不是摧毀那些已經存在的東西。例如,我已經保存了id = 185,新的值是255,我需要在字段185 255。我能以某種方式更新嗎? – user3042036 2014-08-27 14:24:09

+0

@ user3042036是的,我向您展示瞭如何在答案中使用更新命令。如果您向右滾動,您會看到正在使用過濾器。 – 2014-08-27 14:27:32