首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wordpress -更新数据库-$wpdb->准备

Wordpress -更新数据库-$wpdb->准备
EN

Stack Overflow用户
提问于 2015-04-27 20:03:07
回答 1查看 6.3K关注 0票数 2

在我的自定义wordpress脚本中,我确实有一个奇怪的问题。我想更新我的数据库,我使用了这一行代码来实现它:

代码语言:javascript
运行
复制
$update1 = $wpdb->query($wpdb->prepare("UPDATE wp_avg_rate SET avg='$raty' WHERE user_id= '$user->ID'"));

现在的问题是,我的页面加载了大约20秒,所以我开始破坏,我发现$wpdb->准备需要第二个参数。我尝试过这段代码,现在它正在工作:

代码语言:javascript
运行
复制
$update1 = $wpdb->query($wpdb->prepare("UPDATE wp_avg_rate SET avg='$raty' WHERE user_id= %d'", $user->ID));

现在的问题是,在我看来,有一个‘(结尾是%d)关闭但从未打开,所以我尝试了以下代码:

代码语言:javascript
运行
复制
$update1 = $wpdb->query($wpdb->prepare("UPDATE wp_avg_rate SET avg='$raty' WHERE user_id= '%d'", $user->ID));

$update1 = $wpdb->query($wpdb->prepare("UPDATE wp_avg_rate SET avg='$raty' WHERE user_id= %d", $user->ID));

一旦我使用这些代码,网站的负载将再次超过20秒。有人能帮我,告诉我数据库更新的正确语法是什么吗?

EN

Stack Overflow用户

发布于 2015-04-27 20:59:58

此SQL查询的正确语法是:

代码语言:javascript
运行
复制
$update1 = $wpdb->query($wpdb->prepare("UPDATE wp_avg_rate SET avg='$raty' WHERE user_id= %d", $user->ID));

准备将%d替换为经过消毒的整数$user->ID

您所看到的20秒延迟一定是数据库、数据库服务器或连接的问题,考虑到所提供的信息,我们无法排除这些问题。

下面是一些你可以尝试的东西

  • 首先,确保正确生成SQL。请查看调试栏和wp-config SAVE_QUERIES WordPress选项。
  • 接下来,检查是否可以使用MySQL客户端快速执行这些查询。如果可能的话,我建议使用mysql命令行工具,但是PHPMyAdmin或MySQL工作台也会完成这项工作。
  • 最后,如果在客户端执行时查询是正确和快速的,那么您可能需要检查您的DNS设置。由于数据库服务器无法解决WordPress服务器的主机名,我遇到了类似的问题

请告诉我事情进展如何!

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29904931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档