所以我想在我的数据库中创建一个新表,但我似乎无法让它工作。这是一个 wordpress 插件,所以我不知道这是否会把它搞砸。
if ($wpdb->get_var('SHOW TABLES LIKE "' . $wpdb->prefix . DB_PROFILE_TABLE . '"') != $wpdb->prefix . DB_PROFILE_TABLE)
{
$sql = 'CREATE TABLE ' . $wpdb->prefix . DB_PROFILE_TABLE . ' (
id BIGINT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
fname VARCHAR(100) NOT NULL,
sname VARCHAR(100),
city VARCHAR(100),
country VARCHAR(100)
CHARSET=utf8; ';
dbDelta($sql);
}
php 和 mySql 的初学者。
最佳答案
您缺少括号...
你能这样试试吗
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
name tinytext NOT NULL,
text text NOT NULL,
url varchar(55) DEFAULT '' NOT NULL,
UNIQUE KEY id (id)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
这些是使用 wordpress 插件
创建表的规则
1) 您必须将每个字段放在 SQL 语句中的单独一行。
2) PRIMARY KEY 和主键定义之间必须有两个空格。
3) 必须使用关键字 KEY 而不是其同义词 INDEX,并且必须至少包含一个 KEY。
4) 不得在字段名称周围使用任何撇号或反引号。 字段类型必须全部小写。
5) SQL 关键字,如 CREATE TABLE 和 UPDATE,必须大写。
关于PHP MySQL数据库没有创建新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27096927/