您好我正在尝试使用来自foreach循环的值更新我的sql数据库中的列但是正在获取..为foreach()提供的无效参数
foreach($ids as $id){
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://api.twitter.com/1/
users/lookup.json?user_id=".$id."");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
$contents = curl_exec ($ch);
$ok=array();
$ok=json_decode($contents,true);
foreach($ok['results'] as $p){
$location=$p['location'];
$query=mysql_query("UPDATE tweets SET location=".$location."
WHERE from_user_id=".$id."");
if($query){
print'ok';
}else{print'sds';}
}
// close cURL resource, and free up system resources
curl_close($ch);
}
我做错了什么?
欢呼人!!!!
答案 0 :(得分:1)
这就是你所需要的。它只会拉最后一条推文,但这是一个好的开始。您对twitter api的调用不再有效,将其放在浏览器窗口中,您会发现它出错。
$contents = file_get_contents("http://api.twitter.com/users/".$id.".json");
$ok=json_decode($contents,true);
# For Testing Purposes
#echo '<pre>';
#var_dump($ok);
#echo '</pre>';
echo $ok['location'];
答案 1 :(得分:0)
PHP数组,无论是否是关联的,都有每个对的键和值。
因此,我猜测它应该是foreach($ids as $id_number => $id) {
,因为您没有提供有关$ids
数组的更多信息。