【问题标题】:Call to a member function insert() on null WORDPRESS在空 WORDPRESS 上调用成员函数 insert()
【发布时间】:2015-07-07 06:54:38
【问题描述】:

我正在为 wordpress 编写一个插件。我刚刚完成了我的管理页面。它有一个提交按钮。表单元素的动作属性正在发送到“database.php”文件。

这是database.php的代码:

<?php
global $wpdb;

        $table_name =  $wpdb->prefix . "ArmPoll_Questions";
    if($_SERVER["REQUEST_METHOD"]=="POST")
    {

        $wpdb->insert($table_name, array('id'=>'','Question'=>'How r u?'));

    }
?>

但它会导致一个错误,上面写着

在 null 上调用成员函数 insert()

【问题讨论】:

    标签: php mysql plugins wordpress


    【解决方案1】:

    您不能只编写一个直接的 PHP 页面并期望它能够工作。您需要将其编写为插件或在 Wordpress 框架内工作的东西。您得到的错误是 $wpdb object 未定义。如果你把它写成插件$wpdb会自动为你定义。

    How to Write a Wordpress Plugin

    另一种选择是打开您自己的 MySQL 连接并直接以这种方式进行插入。

    How to insert data using mysqli

    【讨论】:

      【解决方案2】:

      您可以加载定义 wpdb 的核心功能

      define( 'SHORTINIT', true );
      require( BASE_PROY_ROOT.'/wp-load.php' );
      

      如果只加载基本的 WP CORE,SHORTINIT 设置为“true”。 然后你可以使用 全球 $wpdb;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-19
        • 1970-01-01
        • 2017-03-09
        • 2016-12-09
        • 2020-01-13
        • 1970-01-01
        • 2016-02-12
        • 2021-06-03
        相关资源
        最近更新 更多