您需要查看可用的函数文档here.
该函数采用以下参数:
- $table 表名称
- $data 一个PHP数组,其中键是列,值是要插入到这些列中的值
- $where 一个PHP数组,其中键是列名,值是要检查的值
和另外两个可选参数,可用于强制第二个和第三个参数的值为特定类型。有关这些方面的更多信息,请参阅文档。
您所做的是将第二个和第三个参数的PHP和SQL语法混为一谈($row->ip_address_01 = $ipONactivate
正在分配$ipONactivate
到$row->ip_address_01
, 不生成数组)。您还试图使用前一个查询的列值(例如。$row->ip_address_01
) 作为列名。
您需要将参数的格式如下:
$wpdb->update(
$ipn_table,
array(
\'ip_address_01\' => $ipONactivate
),
array(
\'payer_email\' => $serial,
\'item_name\' => $product,
)
);
该函数将更新
ip_address_01
列,任何行的
payer_email
是
$serial
和
item_name
是
$product
. 等效的SQL是:
$sql = "UPDATE {$ipn_table} SET ip_address_01=\'{$ipONactivate}\' WHERE payer_email=\'{$serial}\' AND item_name=\'{$product}\'";
该函数的优点是,它使您无需编写完整的查询(您只需要列名和值),而且它还为您正确地准备和转义值,因此您不会容易受到SQL注入的攻击(如果您按原样使用我的SQL示例,您会遇到这种情况)。