0

嗨,

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

我收到此错误:

Fatal error: Cannot access empty property

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

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

我在这里做错了吗?还是有更好/更好的方法来获取 db 前缀?

编辑 1 好吧,我已经开始工作了,但是现在没有创建 db 表...

我为此使用这部分代码:

$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);

但是没有创建表,也没有显示错误...

4

1 回答 1

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

于 2012-11-10T07:36:21.163 回答