您需要查看可用的函数文档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示例,您会遇到这种情况)。