[WordPress] PHP で MySQL データベースの新しいテーブルを作成したい

スポンサーリンク

Question

私は、データベースに新しいテーブルを作成したいです。

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 plugin

を使用してテーブルを作成するルールは

  1. SQL ステートメントに独自の行に各フィールドを置く必要があります

2) 言葉主キーと主キーの定義との間の 2 つのスペースを持っている必要があります

3) そのシノニム インデックスではなくキー word キーを使用する必要があり、少なくとも 1 つのキーを含める必要があります

4) 任意のアポストロフィまたはフィールド名の周りバッククォートを使用しないでください。フィールドの種類をすべて小文字にする必要があります

5) テーブルの作成や更新などの SQL キーワードは大文字でなければなりません

下記を参照してください

http://codex.wordpress.org/Creating_Tables_with_Plugins

答え

国よう後閉じかっこが欠けているように見えます。また同様のセミコロンを削除する必要があります

$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);

http://stackoverflow.com/questions/27096927/php-mysql-database-not-creating-new-table

スポンサーリンク

Leave a Reply