Wordpress致命错误:无法访问空属性

时间:2012-11-10 07:32:05

标签: wordpress-plugin prefix

HY,

这段代码在本地运行,但是一旦我将它上传到测试服务器,就会出现问题。我是wordpress插件的新手,但我知道php是如何工作的。

我收到此错误:

Fatal error: Cannot access empty property

这是给出错误的行(最后一行):

global $wpdb;
$wpdb -> show_errors();
$dbPrefixHere = $wpdb -> $prefix;

我在这里做错了吗?或者是否有更好/更好的方式来获取数据库前缀?

编辑1 好吧,我已经有了工作,但现在没有创建数据库表...

我正在使用这部分代码:

$sQueryCheckProjectDB = "CREATE TABLE ".$dbPrefixHere."automaticthesiswriter_projects (
                          projectID int(11) NOT NULL AUTO_INCREMENT,
                          userID int(11) NOT NULL,
                          shareID int(11) NOT NULL,
                          projectName mediumtext NOT NULL,
                          projectDescription mediumtext NOT NULL,
                          PRIMARY KEY  (projectID)
                        ) ENGINE=InnoDB DEFAULT CHARSET=latin1;";
dbDelta($sqlUseOnPageSQLCreate);

但是没有创建表格,并且没有显示错误...

1 个答案:

答案 0 :(得分:1)

尝试改变:

$dbPrefixHere = $wpdb -> $prefix;

为:

$dbPrefixHere = $wpdb->prefix;

补充答案:(使用了不正确的变量?)

$sQueryCheckProjectDB = "CREATE TABLE ".$dbPrefixHere."automaticthesiswriter_projects (
                          projectID int(11) NOT NULL AUTO_INCREMENT,
                          userID int(11) NOT NULL,
                          shareID int(11) NOT NULL,
                          projectName mediumtext NOT NULL,
                          projectDescription mediumtext NOT NULL,
                          PRIMARY KEY  (projectID)
                        ) ENGINE=InnoDB DEFAULT CHARSET=latin1;";
dbDelta($sQueryCheckProjectDB);

参考:http://codex.wordpress.org/Creating_Tables_with_Plugins