无法访问新创建的wordpress表

问题描述

我已经通过PHPMyAdmin在wordpress数据库中创建了一个新表。 但是,我无法写入我创建的任何表中。用相同的代码在诸如Metapost之类的预定义表中进行书写就可以了。当我写出错误时,似乎wordpress认为我“忘记了”输入表名,就像wordpress不知道该新表存在一样。到底是怎么回事? 我桌子的名字是赫斯特

这是我的代码

    <?PHP
    $Metakey   = 'THAT IS';
    $Metavalue = 'DONE.';
     
    $wpdb->query(
    $wpdb->prepare(
    "
    INSERT INTO $wpdb->hest
    ( Meta_key,Meta_value )
    VALUES ( %s,%s)
    ",$Metakey,$Metavalue
    )
    );
    $wpdb->show_errors();           
    echo $wpdb->last_query;         
    ?>

这是show_error消息: 如您所见,表名称在执行的查询中突然消失了。

wordpress数据库错误:[您的sql语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第2行的'(Meta_key,Meta_value)VALUES('THAT IS','DONE。)'附近使用] INSERT INTO(Meta_key,Meta_value)VALUES('THAT IS','DONE。')

谢谢!!

为克里斯打气。

解决方法

查看文档,似乎只有默认tables作为wpdb类的属性。您需要将新表作为字符串引用。

$wpdb->query(
    $wpdb->prepare(
    "
    INSERT INTO hest
    ( meta_key,meta_value )
    VALUES ( %s,%s)
    ",$metakey,$metavalue
    )
);

您也可以使用insert function在新表中插入一行。

$wpdb->insert( 
    'hest',array( 
        'meta_key' => $metakey,'meta_value' => $metavalue,),array( 
        '%s','%s',) 
);