WordPress更新查询不起作用,返回false

时间:2019-08-20 12:40:19

标签: php mysql ajax wordpress

我想更新wordpress数据库中的自定义表格,我使用的是非常基本的查询,但对我不起作用!

实际上,查询位于函数内部(ajax callback), 第一个(SELECT)可以正常工作并返回数据。

但是第二个没有!并始终返回false。

N.B:我输入了select的第一个查询,以证明ajax正确发送了数据,并且URL正确

请帮助我发现问题出在哪里?

<?php
function activate_calbk()
{
   //1 this works very well :) 
   if (isset($_POST['req']) and ($_POST['req']=='verif'))
        {
            global $wpdb;
            $quer = $wpdb->get_results( "SELECT * FROM my_table" );
            $arr = $quer[0]->etat;
            echo $arr;
            die();
        }


    // 2  not working :(  ! 
    else if ( isset($_POST['req']) and ($_POST['req']=='activate'))
        {
           global $wpdb;
           $ereminders= $wpdb->query("UPDATE $wpdb->my_table SET etat = 'off' WHERE id = '1'");

            if ($ereminders) 
            {
                echo 'updated';
                die();
            }



        }
    wp_die(); // required. to end AJAX request.
}

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用wpdb更新?

https://codex.wordpress.org/Class_Reference/wpdb#UPDATE_rows

$wpdb->update( 
    'my_table', 
    array( 
        'etat' => 'off',    // string
    ), 
    array( 'id' => 1 ), 
    array( 
        '%s',   // string
    )
);