PHP MySQL数据库没有创建新表

标签 php mysql wordpress

所以我想在我的数据库中创建一个新表,但我似乎无法让它工作。这是一个 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,必须大写。

引用http://codex.wordpress.org/Creating_Tables_with_Plugins

关于PHP MySQL数据库没有创建新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27096927/

相关文章:

wordpress - Google 和 Clicky Analytics 是在 cloudflare 上更好还是在主网站上更好?

php - Git 子树与 Composer

php - 如何将参数传递给 bat 文件中的 php 脚本

php - PDO PHP Mysql 在特定查询上速度慢

php - PDO 查询有问题

mysql - 从查询使用和查询类型频率测量 MySQL 'load'

javascript - 使用 Javascript 将类插入到元素中

php - 获取两个标签之间的公共(public)节点

php - 在 MySQL 和 PHP 中使用二进制作为标志

php - 格式化 REPLACE 查询的注释日期