2012-07-29 78 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