- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要在 wordpress 中为插件创建自定义表格。看了网上的几篇文章,建了表,发现访问不了。当尝试从表中选择所有内容时,不会返回任何内容,当尝试使用数据库浏览器插件查看表时,我收到此错误:“您的 SQL 语法有错误;请检查与您的 MySQL 服务器对应的手册在第 1 行的 'FROM wp-typeEvents LIMIT 0, 100' 附近使用正确语法的版本”以响应插件的查询(“SELECT SQL_CALC_FOUND_ROWS FROM wp-typeEvents LIMIT 0, 100;;”)。
简而言之,我正在尝试使用 dbDelta 创建一个表。表已创建,但存在某种问题导致无法添加行或无法读取其内容。
我读到过 dbDelta 可以是 finnicky 函数,所以我试图坚持它的三个黄金法则:
-将每个字段放在一个新行上
-在主键和它的定义之间放置两个空格
-至少有一把 key
代码如下:
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);
有什么想法吗?
最佳答案
不要硬编码表名,使用 $wpdb->prefix(正如其他人所说)。
不要在字段名称周围使用引号。
还有其他有用的“规则”,它们都列在这里: http://codex.wordpress.org/Creating_Tables_with_Plugins
Note that the dbDelta function is rather picky, however. For instance:
- You must put each field on its own line in your SQL statement.
- You must have two spaces between the words PRIMARY KEY and the definition of your primary key.
- You must use the key word KEY rather than its synonym INDEX and you must include at least one KEY.
- You must not use any apostrophes or backticks around field names.
- Field types must be all lowercase.
- SQL keywords, like CREATE TABLE and UPDATE, must be uppercase.
关于php - 使用 dbDelta 函数在 Wordpress 中创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957836/
我听说dbdelta真的很挑剔,最重要的条件在这个网站上有描述:http://codex.wordpress.org/Creating_Tables_with_Plugins 我尝试在 WordPre
我目前正在为客户编写一个插件,虽然它通常运行良好,但我发现 dbDelta 不允许我创建插件激活所需的表。 我正在运行以下代码来绑定(bind)激活函数: register_activation_ho
这是我遇到的一个错误。当我在 Wordpress 中使用 dbDelta 函数时会发生这种情况。我实在想不通,也许其他人也有过类似的经历?我的代码: $sql1 = "CREATE TABLE `".
我正在尝试使用我正在构建的 WordPress 插件中的 dbDelta() 函数在 mySQL 数据库中的自定义表上创建触发器!激活插件后,将创建表格并填充默认数据。当执行该函数时: functio
我需要在 wordpress 中为插件创建自定义表格。看了网上的几篇文章,建了表,发现访问不了。当尝试从表中选择所有内容时,不会返回任何内容,当尝试使用数据库浏览器插件查看表时,我收到此错误:“您的
您好,我已经编写了一个添加表格的函数。我已经测试了我的语法,它在我的 phpmyadmin 中工作,但出于某种原因它没有在我的插件中激活? :S class clients{ public s
我正在尝试让我的 Wordpress 插件创建包含激活数据的表格。 SQL 似乎执行了并且本身是正确的(实际上,如果我手动将其复制到 SQL 服务器,它就可以工作) 我的PHP代码如下 registe
我是一名优秀的程序员,十分优秀!