您正在使用$wpdb->where() 不正确。
在代码中,$data_array 和$data_where 都是一样的,所以如果我们假设$_POST[\'getval\'] 是1, 生成的查询将是:
UPDATE wp_fes_vendors SET requests=1 WHERE requests=1
你知道这有什么意义吗?它正在设置
requests 列收件人
1 对于所有行,其中
requests 已经是
1. 这是一个永远不会做任何事情的查询。
正确的使用方法$wpdb->where() 就是要确保$data_array 包含列名以及要将其设置为的新值,而$data_where 应包含用于标识应更新的行的列和值。
例如,如果要设置requests 到1 对于ID为的供应商5, 我需要这样做:
$data_array = array(
\'requests\' => 1
);
$data_where = array(
\'id\' => 5
);
$wpdb->update( $table_name, $data_array, $data_where );
该查询的结果将是:
UPDATE wp_fes_vendors SET requests=` WHERE id=5
这意味着在表单中,您需要发布列的新值以及需要更新的供应商ID。