Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建wordpress表,我哪里出错了?_Php_Database_Wordpress - Fatal编程技术网

Php 创建wordpress表,我哪里出错了?

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

这似乎并没有创建一个表。。。有什么原因吗?我也尝试了dbdelta。

为了得到答案,请在后面的勾号中用
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)
    );";