【问题标题】:WordPress database error: [Query was empty]WordPress 数据库错误:[查询为空]
【发布时间】:2013-08-08 13:15:50
【问题描述】:

我正在使用 $wpdb 连接到与我的 wordpress 不同的数据库,如下所示:

$newdb = new wpdb(DB_NEW_USER, DB_NEW_PASSWORD, DB_NEW_NAME, DB_NEW_HOST);

我需要在数据库中插入多行。 我使用了这个答案中的代码:Wordpress $wpdb. Insert Multiple Records

要运行查询,我使用以下行:

$newdb->query( $newdb->prepare("$query", $values));

当我做echo $query 时,结果是这样的:(有超过 3 列,但为了时间我缩短了)

INSERT INTO table (column1, column2, column3) VALUES ('%s', '%s', '%s')

当我var_dump($values) 时,它返回一个数组,其字符串数量与我的列数相同。

当我运行查询时,我收到以下错误:

WordPress database error: [Query was empty]

我尝试以类似的方式从数据库中进行选择,它确实有效,所以我连接到数据库的工作正常。

我做错了什么?

如果有人能帮助我,我将不胜感激。

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    您确定您的查询看起来像这样吗?

    $metakey = "Harriet's Adages";
    $metavalue = "WordPress' database interface is like Sunday Morning: Easy.";
    
    $wpdb->query( $wpdb->prepare( 
        "
            INSERT INTO $wpdb->postmeta
            ( post_id, meta_key, meta_value )
            VALUES ( %d, %s, %s )
        ", 
            array(
            10, 
            $metakey, 
            $metavalue
        ) 
    ) );
    

    【讨论】:

    • 没有。它看起来不一样。你能在这里发布你的 $values 的 print_r 和 $query 的 echo 吗?
    • 感谢您的努力,但我意识到占位符有额外的价值。当我把它拿出来时,它起作用了
    猜你喜欢
    • 2016-03-12
    • 2016-07-28
    • 1970-01-01
    • 2018-01-14
    • 2012-05-22
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多