$ wpdb> обновление не влияет на базу данных? - PullRequest
1 голос
/ 07 января 2020

Я пытаюсь обновить meta_value в базе данных для указанного c meta_id с помощью функции $ wpdb> update , но она ничего не меняет при выполнении.

Вот код.

<?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 )

   );

   ?>

Любой совет или помощь будет принята с благодарностью.

Спасибо

Ответы [ 2 ]

1 голос
/ 07 января 2020

Здесь есть несколько проблем:

1) В таблице "wp_postmeta" нет поля "ID". Это должно быть "meta_id" ИЛИ "post_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 )

);

?>
0 голосов
/ 12 января 2020

Я нашел другую функцию с именем update_post_meta, которая, кажется, работает. Спасибо за ваш вклад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...