我正在尝试在phpmyadmin中创建一个新表。我正在使用MAMP,这当然是wordpress内部的内容。
<?php
function testtheme_database() {
global $wpdb;
global $testtheme_db_version;
$testtheme_db_version = "1.0";
$table = $wpdb->prefix . "inquiries";
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table (
id mediumint(9) NOT NULL AUTO_INCREMENT,
first-name varchar(50) NOT NULL,
last-name varchar(50) NOT NULL,
email varchar(50) DEFAULT \'\' NOT NULL,
message longtext NOT NULL,
PRIMARY KEY (id)
) $charset_collate; ";
require_once(ABSPATH . \'wp-admin/includes/upgrade.php\');
dbDelta($sql);
}
add_action( \'after_setup_theme\', \'testtheme_database\' );
当我尝试刷新/重新加载wordpress中的某个页面时,出现了此错误,在我的情况下,是“联系我们”页面:
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'-name varchar(50) NOT NULL, last-name varchar(50) NOT NULL, email varcha\' at line 3] CREATE TABLE wp_inquiries ( id mediumint(9) NOT NULL AUTO_INCREMENT, first-name varchar(50) NOT NULL, last-name varchar(50) NOT NULL, email varchar(50) DEFAULT \'\' NOT NULL, message longtext NOT NULL, PRIMARY KEY (id) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci
它应该在phpmyadmin中创建一个名为wp\\u inquires的新表,但只是得到了那个错误,没有创建表。