Php 创建wordpress表,我哪里出错了?
这似乎并没有创建一个表。。。有什么原因吗?我也尝试了dbdelta。为了得到答案,请在后面的勾号中用Php 创建wordpress表,我哪里出错了?,php,database,wordpress,Php,Database,Wordpress,这似乎并没有创建一个表。。。有什么原因吗?我也尝试了dbdelta。为了得到答案,请在后面的勾号中用range和order将列名括起来,因为它们是MySQL中的保留字: global $wpdb; $table_name = $wpdb->prefix . "product_order"; $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL A
range
和order
将列名括起来,因为它们是MySQL中的保留字:
global $wpdb;
$table_name = $wpdb->prefix . "product_order";
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
range VARCHAR(255),
category VARCHAR(255),
order mediumint(9),
relation mediumint(9),
UNIQUE KEY id (id)
);";
$wpdb->query($sql);
作为一个旁注,如果您想确保不与其他表发生冲突,应该将此模式与其他WordPress实例共享或成为多站点,请考虑使用<代码> {$WPDB->前缀}。$table\u name而不仅仅是
$table\u name
使用wp config.php
中定义的数据库前缀,通过反勾号环绕range
和order
。它们是关键词。哦,上帝,谢谢你。就是那个。。。作为答案,我会打勾:数据在MySQL中都是保留字-为了防止将来出现问题,最好选择不同的列名,或者开始在后面的勾号中围绕所有表名。
$sql = "CREATE TABLE $table_name (
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`range` VARCHAR(255),
`category` VARCHAR(255),
`order` mediumint(9),
`relation` mediumint(9),
UNIQUE KEY id (id)
);";