Php $wpdb>;更新对数据库没有影响?

Php $wpdb>;更新对数据库没有影响?,php,database,wordpress,Php,Database,Wordpress,我正在尝试使用$wpdb>update函数更新数据库中特定meta_id的meta_值,但在执行该函数时不会更改任何内容 这是代码 <?php // ID = 10074 global $wpdb; $meta_value = 'NEW_VALUE'; $meta_key = 'wpcf-vehicle-status'; $meta_id = '10074'; $wpdb->update( 'wp25_postmeta', array( 'meta_

我正在尝试使用$wpdb>update函数更新数据库中特定meta_id的meta_值,但在执行该函数时不会更改任何内容

这是代码

<?php

// ID = 10074

global $wpdb;
$meta_value = 'NEW_VALUE';
$meta_key = 'wpcf-vehicle-status';
$meta_id = '10074';

$wpdb->update( 

 'wp25_postmeta', 
    array( 
     'meta_value' => $meta_value,
     'meta_key' => $meta_key
     ),
   array( 'ID' => $meta_id )

   );

   ?>

任何建议或帮助都将不胜感激


谢谢这里有几个问题:

1) “wp_Posteta”表中没有字段“ID”。它应该是“meta\u id”或“post\u id”。
2) 表名应采用以下格式:

$wpdb->prefix."postmeta"
以下是修复两个问题后的代码:

<?php

// ID = 10074

global $wpdb;
$meta_value = 'NEW_VALUE';
$meta_key = 'wpcf-vehicle-status';
$meta_id = '10074';

$wpdb->update( 

    $wpdb->prefix."postmeta", 
    array( 
        'meta_value' => $meta_value,
        'meta_key' => $meta_key
    ),
    array( 'meta_id' => $meta_id )

);

?>


我发现了另一个名为“update\u post\u meta”的函数,它似乎正在工作。谢谢你的意见

是否确定定义了
$wpdb
?@u\u mulder如果不定义,则方法调用应触发错误如果不知道meta\u id,但知道post\u id和meta\u键值,您将如何更新meta\u id?数据库中的列是meta_id=10074 post_id=852 meta_key=wpcf vehicle status meta_value=salled我可以看到原始答案不是针对特定的post_id并更新数据库中的所有行,我假设需要WHERE子句?因此,如果post_id=852,meta_key=wpcf车辆状态,则仅更新该特定的meta_id。上述问题使用了类似var的meta_id,这就是在更新代码中显示meta_id的原因,这是可能的,但并不理想。我在回答中也提到,他们可以使用post_id,这是非常理想的。