致命错误:对wordpress中的非对象调用成员函数query()

致命错误:对wordpress中的非对象调用成员函数query(),wordpress,Wordpress,我正在尝试将一个新表行插入到自定义wpdb表中。数据来自发布到脚本的表单 我在脚本开始时声明了global$wpdb,并将其插入到数据库中,但出于某种原因,它不喜欢查询函数,WordPress建议在codex中使用该函数。 我遇到了这个错误致命错误:调用成员函数query() 这是我的代码: <?php global $wpdb; if($_POST){ $post_id = $_POST['post_id']; $name = $_POST['name']; $email = $_P

我正在尝试将一个新表行插入到自定义wpdb表中。数据来自发布到脚本的表单

我在脚本开始时声明了global$wpdb,并将其插入到数据库中,但出于某种原因,它不喜欢查询函数,WordPress建议在codex中使用该函数。 我遇到了这个错误致命错误:调用成员函数query()

这是我的代码:

<?php

global $wpdb;
if($_POST){
$post_id = $_POST['post_id'];

$name = $_POST['name'];
$email = $_POST['email'];
$city = $_POST['city'];
$tell = $_POST['tell'];

$date_m  = $_POST['date_m'];
$date_y  = $_POST['date_y'];
$consent  = $_POST['consent'];
$check_error = 0;

if (!isset($name) || $name == ''){

echo "empty";
$check_error = 1;
}

elseif (!isset($email) || $email == ''){
echo "empty";
$check_error = 1;
}
$name = mysql_real_escape_string($name);
$email = mysql_real_escape_string($email);
$city = mysql_real_escape_string($city);
$tell = mysql_real_escape_string($tell);
$date_m  = mysql_real_escape_string($date_m);
$date_y  = mysql_real_escape_string($date_y);
$consent  = mysql_real_escape_string($consent);
$query = "INSERT INTO {$wpdb->prefix}kishvote SET ";
$query .= "post_id = '" . $post_id . "', ";
$query .= "date_timevote = '" . date( 'Y-m-d H:i:s' ) . "', ";
$query .= "u_name = '" . $name . "', ";
$query .= "u_city = '" . $city . "', ";
$query .= "u_mail = '" . $email . "', ";
$query .= "u_tell = '" . $tell . "', ";
$query .= "date_m = '" . $date_m . "', ";
$query .= "date_y = '" . $date_y . "', ";
$query .= "consent = '" . $consent . "', ";

$success = $wpdb->query( $query );

        if ($success) {
            $error = 0;
            echo "submit";
        } else {
            $error = 1;
            echo 'eror dade';
        }
 }
?>

显然$wpdb不是一个对象。。。根据你在这里发布的内容,不可能说出原因。例如,尝试
var\u dump()
查看它包含的内容。除此之外,使用globals是一种非常糟糕的做法,您应该尽量避免使用它?尝试将
global$wpdb
放在
if($\u post){