gpt4 book ai didi

php - 我无法访问 WordPress 中的自定义数据库表

转载 作者:行者123 更新时间:2023-11-30 22:29:03 24 4
gpt4 key购买 nike

我正在尝试为我的帖子建立评级系统。首先,我创建了一个自定义表,其中包含 post_id、post_title_、用户 ip、用户机器、发帖率、用户名、用户 ID、时间戳。到现在为止一切都很好,我可以毫无问题地将数据插入到该表中。接下来我试图创建一个函数来验证用户是否已经投票,不允许用户对每个帖子评分超过一次,所以创建了这个函数

function alreadyvoted($post_id) {
// variables
global $wpdb;
$table_name = $wpdb - > prefix.
"ratings_fansub";
$ip = $_SERVER['REMOTE_ADDR'];
$rate_userid = get_current_user_id();
$rate_user_machine = @gethostbyaddr($ip);
// getting data from databaase by current post_id
$results = $wpdb - > get_results('SELECT * FROM $table_name WHERE ratings_fansub_postid = $post_id ');
$NumRows = count($results);
$RandNum = rand(0, $NumRows);
$i = 0;
while ($i < $RandNum):
if ($rate_userid != 0) {
if ($rate_userid == $results[$RandNum] - > ratings_fansub_username)
return 1;
} else {
if ($rate_user_machine == $results[$RandNum] - > ratings_fansub_host or $ip == $results[$RandNum] - > ratings_fansub_ip)
return 1;

}
$i++;
endwhile;

但是这个函数不起作用,我相信我在 sql 行的某处犯了一个错误,但我无法弄清楚它是什么。

最佳答案

请检查您在数据库中的表名。表格名称是否类似于“wp_ratings_fansub”。

或者您也可以打印表名 'echo $wpdb -> prefix."ratings_fansub";exit();'并检查数据库表名是否匹配。

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

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