gpt4 book ai didi

php - WordPress 自定义数据库表无法识别

转载 作者:行者123 更新时间:2023-11-29 08:43:28 25 4
gpt4 key购买 nike

我已为我的 WordPress (v3.4.2) 网站手动创建了一个自定义表 sdp_invites。我过去曾多次这样做过,但现在我无法使用任何 $wpdb 方法:

global $wpdb;
global $current_user;

$query = "INSERT INTO spd_invites (sender_id,receiver_id,job_id,job_title,job_slug,employer_id) VALUES ('{$current_user->ID}','{$resume->user_id}','{$job_id}','{$job_title}','{$job_slug}','{$employer_id}')";

$wpdb->get_results($query); //ERROR...
$wpdb->query($query); //ERROR...

错误如下:

WordPress database error: [Table 'sow2.spd_invites' doesn't exist]
INSERT INTO spd_invites (sender_id,receiver_id,job_id,job_title,job_slug,employer_id) VALUES ('799','809','6','Professional Basket Weaver','professional-basket-weaver','5')

我知道该表存在,因为我手动创建了它,并且可以在 phpMyAdmin 中看到它。知道为什么我会收到此错误吗?

更新:WP 用户称为“root”(在我的本地开发设置中)。以下是 phpMyAdmin 中列出的权限:

User    Host             Type    Privileges  Grant  Action
root localhost global ALL PRIVILEGES Yes

更新2:为了排除多种可能性,我尝试了一个更简单的查询:“SELECT * FROM sdp_invites”。这会引发相同的错误。当我更改为 wp 核心表时,它可以正常工作,不会出现错误 "SELECT * FROM sdp_invites"

最佳答案

我的最佳猜测是,您尚未向 WordPress MySQL 数据库用户授予新自定义表的权限,可能是因为您通过 phpMyAdmin 使用不同的 MySQL 用户创建了该表。尝试运行:

GRANT ALL PRIVILEGES ON sow2.spd_invites TO 'wordpress_user'@'wordpress_host';
FLUSH PRIVILEGES; -- load new privileges

将“wordpress_user”替换为您的 WordPress MySQL 用户名(可以在 wp-config.php 中找到),将“wordpress_host”替换为您的 Wordpress 服务器的主机名(如果位于同一服务器上,则替换为 localhost )。

请记住,这将允许 WordPress MySQL 对此表具有完全权限(SELECTINSERTDROP 等),这可能并不理想。有关 GRANT 命令的信息,请参阅 MySQL 文档 - http://dev.mysql.com/doc/refman/5.5/en/grant.html

您需要使用 query() 函数运行插入,因为它不会返回任何结果:

$wpdb->query($query);

要查看 WordPress MySQL 用户可见的所有表,请将以下内容添加到主题的 functions.php 文件中,以在每个页面底部打印出表名称:

function show_all_tables(){
global $wpdb;
foreach($wpdb->get_results("SHOW TABLES", ARRAY_N) as $table):
echo $table[0]."<br/>";
endforeach;
}
add_action('wp_footer', 'show_all_tables');

关于php - WordPress 自定义数据库表无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13147525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com