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);
但是没有创建表格,并且没有显示错误...
答案 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);