2012-07-29 101 views
0

我試圖更新foreach循環裏面我的數據庫表,但它似乎沒有工作更新MySQL不工作

我不知道問題出在哪裏還是什麼做錯了。

foreach($ids as $id_number=>$id) 
{ 
    $request = "http://api.twitter.com/1/users/lookup.json?user_id=".$id.""; 
    $response = file_get_contents($request); 
    $ok = json_decode($response,true);/*print_r($ok);*/ 
    foreach($ok as $p) 
    { 
     $location=$p['location']; 
     $query=mysql_query("UPDATE tweets SET location=$location 
         WHERE from_user_id=$id"); 
    } 
    if($query) 
     echo'ok'; 
    else 
     echo'no'; 
}  

如果有人知道這樣做的另一種方式將是有益的!

+0

哪裏,什麼時候檢查PHP或MySQL錯誤? – Jocelyn 2012-07-29 16:37:31

回答

2

嘗試'$location',而不是$location

$query=mysql_query("UPDATE tweets SET location='$location' 
        WHERE from_user_id=$id"); 

記住的mysql_*功能已被棄用,這是更好地使用MySQLiPDO

代替

+0

謝謝。現在使用'$ location'。我正在使用「。$ location」。這之前 – 2012-07-29 16:40:26

+0

mysql_ *函數已被棄用,PHP社區建議使用MySQLi或PDO與MySQL一起工作。有關更多信息,請參閱http://php.net/manual/en/mysqlinfo.api.choosing.php。 – 2012-07-29 16:49:20

+1

注意:mysql_ *不被棄用!他們不再被推薦,並且已經宣佈了未來的棄用(沒有日期設置),但是我們不要將其與主動棄用混淆,也不會拋出嚴重的棄用錯誤。 E_DEPRECATED錯誤*可能會拋出5.5或5.6,但據我所知,這還沒有決定。無論如何,這一點很好,人們應該停止使用這種擴展。 – 2012-07-29 17:01:48