向WordPress表添加记录时出现致命错误

时间:2016-01-27 04:34:47

标签: php wordpress wpdb

当我尝试从我的函数中添加任何建议来解决此问题时,我收到此错误?

PHP Fatal error:  Call to a member function insert() on a non-object

我的功能是这个

function setdb($email){
        global $wpdb;           
        $set_mail=$email;
        $table_name = $wpdb->prefix . 'nd_tempemails';
        $result=$wpdb->insert(
            $table_name,
            array('email'=>$set_mail
            )
        );
}

*编辑我添加了我的整个PHP代码由于request.here我发送链接,为此我保留电子邮件我发送链接作为记录。

function sendmail()
{
    $email = $_POST['email'];
    $passmail=md5($email);
    $subject = 'The Registration Link';
    $headers = "From: xxx@xxx.xx ". "\r\n";
    $headers .= "Reply-To: xxx@xxx.xx" . "\r\n".    
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n".'X-Mailer: PHP/' . phpversion();  
    $message = 'Here is your One time URL<br>';
    $message.="<a href='link";
    $message.=$passmail;
    $message.="'>click here</a>";
    mail($email, $subject, $message, $headers);
    setdb($passmail);
}
if(isset($_POST['email']))
{
    sendmail();

} 

所有功能都在同一个文件中。

2 个答案:

答案 0 :(得分:0)

试试这个

function setdb($email){
        global $wpdb;       
        $table_name = $wpdb->prefix.'nd_tempemails';
        $result=$wpdb->insert(
            $table_name,
            array('email'=>$email)
        );
}

Call setdb('xyz@xyz.com');

答案 1 :(得分:0)

好的,我通过直接调用wordpress配置文件并使用默认的mysqli命令解决了这个问题。我试图包含wp-db.php并完成此操作但是没有用。