【问题标题】:wordpress database call to a member errorwordpress 数据库调用成员错误
【发布时间】:2014-09-27 02:16:15
【问题描述】:

我正在尝试使用 wordpress 中的自定义 php 将数据插入我的数据库。整个 php 文件包含以下内容:

  <?php  global $wpdb;
    if(isset($_POST['Import']))
    {
     $filename = $_FILES["file"]["tmp_name"];
          if($_FILES["file"]["size"] > 0)
        {
        $file = fopen($filename, "r");


            $count = 0; 
            while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
            {
                $count++; 
                if($count>1){                                $wpdb->insert('wp_inventory_list',
                    array( 'project_code' => $emapData[0],
                           'phase' => $emapData[1],
                           'subphase' => $emapData[2],
                           'block' => $emapData[3],
                           'lot' => $emapData[4],
                           'lot_area' => $emapData[5],
                           'flr_area,' => $emapData[6],
                           'model_code' => $emapData[7],
                           'house_model' => $emapData[8],
                           'tcp' => $emapData[9] ),
                    array( '%s', '%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s'));
                }                  
            }
            fclose($file);
            echo 'CSV File has been successfully Imported';     
        }
        else
        {
            echo 'Invalid File:Please Upload CSV File';
        }

    }
?>

每当我尝试运行脚本时,都会收到错误消息“调用非对象上的成员函数 insert()”。我的$wpdb 工作不正常吗?我在 wp-content/themes/mytheme/ 文件夹中添加了自定义 php 文件。我还需要为全局 $wpdb 变量进行配置吗?

【问题讨论】:

    标签: php mysql database wordpress


    【解决方案1】:

    $wpdb 可能是null。你可以通过运行var_dump($wpdb) 来破解它。如果此脚本未在 wordpress 框架中运行,则声明变量 global 将无济于事。如果这是一个“额外”文件,即在您的情况下未在模板内部调用,则它不会像这样工作。

    在 Wordpress 3.4+ 中,您必须这样做:

    define( 'SHORTINIT', true );
    require_once('path/to/wp-load.php' );
    global $wpdb;
    ...
    

    对于旧版 Wordpress,请参阅 http://www.stormyfrog.com/using-wpdb-outside-wordpress/

    【讨论】:

      猜你喜欢
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 2017-09-07
      • 1970-01-01
      • 2020-08-04
      • 2016-12-07
      相关资源
      最近更新 更多