如何使用wordpress wpdb类插入数据



我是wordpress的新手,我正在尝试创建表格并将数据插入该表格。 所以在WordPress数据库中,我创建了名为"专辑"的表,然后我创建了名为"my-codes"的目录(在根目录/与"wp-admin","wp-content","wp-include"目录相同级别)

在我创建的目录中insert.php然后我添加了以下代码

<?php       
global $wpdb;
$wpdb->insert($wpdb->album , array("ID"=>1, "Name"=>'something'), array("%d", "%s"));
 ?>

但它给出了这个错误Fatal error: Call to a member function insert() on a non-object in C:wampwwwwordpressmy-codesinsert.php我犯了什么错误,请帮助我。

您必须在脚本中加载 Wordpress 文件,以便可以访问 Wordpress 的$wpdb对象:

require_once( '../wp-load.php' );

这将加载所有Wordpress,甚至是您不需要的功能。如果只想加载数据库部分,请阅读本文。


Update - insert方法的第一个参数应该是表的名称:

$wpdb->insert(
    'album',
     array("ID"=>1, "Name"=>'something'),
     array("%d", "%s")
);
require (dirname(dirname(__FILE__)) . '/wp-blog-header.php');
require (ABSPATH . WPINC . '/compat.php');
require (ABSPATH . WPINC . '/functions.php');
require (ABSPATH . WPINC . '/classes.php');
require_wp_db();
global $wpdb; // Look look! Over here! line 270 in wp-settings.php
if ( !empty($wpdb->error) )
        dead_db();
 //Execute your query here

我建议使用WordPress Options API而不是创建自定义表,除非选项不符合您的需求。另外,将所有代码放在主题的functions.php中。这样,您无需在外部加载任何其他WordPress文件。如果您的代码在函数.php中,它们已经自动加载

以下是如何使用选项在数据库中存储数据的快速示例(摘自上面链接的WP Codex文章):

// Create an option to the database
add_option( $option, $value = , $deprecated = , $autoload = 'yes' );
// Removes option by name.
delete_option( $option );
// Fetch a saved option
get_option( $option, $default = false );
// Update the value of an option that was already added.
update_option( $option, $newvalue );

与直接数据库访问相比,选项更容易实现,并且通常不易出错。 :)

最新更新