Gab*_*tos 7 mysql sql wordpress sql-update
我正在为Wordpress编写一个插件,它应该检查一个mysql条目是否已经存在.
如果它不存在,Wordpress应该将条目插入表中.这部分按我的预期工作.
但是,如果mysql表中已经有一个条目,Wordpress应该更新表,但这不起作用.
我正在使用的代码是以下代码:
$wpdb->query($wpdb->prepare("UPDATE $table_name SET time=$current_timestamp WHERE userid=$userid"));
Run Code Online (Sandbox Code Playgroud)
我在这个查询中使用的变量是正确的,因为它们被成功地用于插入表中,但是在某些地方,更新函数出现了问题.
有人可以告诉我这里我做错了什么吗?
什么是正确的方法?
列的值time必须用括号括起来single quote
$wpdb->query($wpdb->prepare("UPDATE $table_name SET time='$current_timestamp' WHERE userid=$userid"));
Run Code Online (Sandbox Code Playgroud)
小智 5
$result = $wpdb->update('westend_areaofficers', array('officerOrder' => $memberOrder,
'officerTitle' => $memberTitle, 'officerName' => $memberName, 'officerPhone' =>
$memberPhone), array('officerId' => $memberId), array('%d','%s', '%s', '%s'),
array('%d'));
if($result > 0){
echo "Successfully Updated";
}
else{
exit( var_dump( $wpdb->last_query ) );
}
$wpdb->flush();
Run Code Online (Sandbox Code Playgroud)
上面的解决方案对我有用,因为即使传入正确的数字和字符串格式,使用 $wpbd->query($wpbd->prepare()) 语句也不起作用。
var_dump() 函数的目的是查看查询执行出错的地方。它打印出正在传递的查询和值。当然,使用 $wpdb->flush() 函数会清除缓存以便执行下一个查询。
| 归档时间: |
|
| 查看次数: |
58536 次 |
| 最近记录: |