如何使用WHERE制定SQL prepare语句

时间:2014-08-27 14:14:29

标签: mysql sql wordpress prepared-statement insert-update

我在WP中使用prepare语句,我需要添加“WHERE”的同一个。我必须做好准备。我试图把它放在值之后但不起作用。它在没有“WHERE”的情况下使用时有效,但这次我真的需要这种说法。

贝娄你可以找到我尝试过的东西。此外,我试图将“$ 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
            ));

1 个答案:

答案 0 :(得分: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,即在绑定参数时忽略类型。