【发布时间】:2012-04-15 00:22:51
【问题描述】:
我需要在 wordpress 中为插件创建一个自定义表格。我关注了一些在线文本并创建了表,但发现无法访问它。当尝试从表中选择所有内容时,不会返回任何内容,当尝试使用数据库浏览器插件查看表时,我收到此错误:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器相对应的手册在第 1 行的“FROM wp-typeEvents LIMIT 0, 100”附近使用正确语法的版本,以响应插件的查询(“SELECT SQL_CALC_FOUND_ROWS FROM wp-typeEvents LIMIT 0, 100;;”)。
简而言之,我正在尝试使用 dbDelta 创建一个表。该表已创建,但存在某种问题,使其无法添加行或读取其内容。
我读到 dbDelta 可以是 finnicky 函数,所以我试图坚持它的三个黄金法则:
-将每个字段放在一个新行上
-在主键及其定义之间放置两个空格
- 至少有一把钥匙
代码如下:
global $wpdb;
$tablename = "wp-typeEvents";
$query = "CREATE TABLE `" . $tablename . "` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`eventName` varchar(60) NOT NULL,
`location` varchar(60) DEFAULT '' NULL,
`price` double NOT NULL,
`description` text NOT NULL,
`paypal` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($query);
有什么想法吗?
【问题讨论】:
-
想出了我自己的问题。该函数被表名中的连字符卡住了。