我在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
));
答案 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,即在绑定参数时忽略类型。