0

我将从代码开始:

$checkIpaddresses = $wpdb->get_results( $wpdb->prepare("SELECT affiliateID, source FROM am_ipaddress WHERE affiliateID = $affiliateID"));

foreach ($checkIpaddresses as $ipaddress) { 
    $ipSource = explode(",", $ipaddress->source);
}

$newIP = ",".$ipAddress;
array_push($newIP, $ipSource);

print_r($ipSource);

我在数据库中有一个列,其中包含由,(逗号)分隔的 IP 地址列表。我希望能够从数据库中获取该列表,添加一个新的 IP 地址并使用新的 IP 地址列表更新该列。

上面的代码给出了这个错误。array_push() expects parameter 1 to be array.

$ipAddress值为$_SERVER['REMOTE_ADDR'];

4

1 回答 1

1

首先,如果这仅返回一行,则不需要foreach.

$ipSource = explode(",", $checkIpaddresses[0]->source);  // Get the 1st row as an array

其次,将新 IP 地址添加到阵列过于复杂。

$ipSource[] = $ipAddress;

而已。现在$ipSource数组包含新的 IP 地址。

(PSimplode(',', $ipSource)用来把数组变成逗号分隔的字符串)

于 2012-12-03T20:07:58.497 回答