2014-07-27 68 views
0
<?php 
//GET FACEBOOK LIKE DATA TO FACEBOOK SERVERS 
function readFacebookLikes($url) { 
$query = "select like_count from link_stat WHERE url ='" . $url ."'"; 
$s = file_get_contents("https://api.facebook.com/method/fql.query?query=". 
     urlencode($query)."&format=json"); 
preg_match("#(\"like_count\"):([0-9]*)#",$s,$ar); 
if(isset($ar[2])) return $ar[2]; else return null; 
} 

mysql_connect('localhost','root','') or die(mysql_error()); 
mysql_select_db('odrinhasedm') or die(mysql_error()); 

$query=mysql_query("select nome, url from participacao") or die(mysql_error()); 
while($res=mysql_fetch_array($query)) 
{ 
$likes = "http://[ip]/evento-odrinhas-edm-open-air/".$res['url']; 
$links = $res['url']; 
$contador = readFacebookLikes($likes); 

//echo'<tr><td>'.$res['nome'].'</td><td>'.$contador.'</td></tr>'; 

$query1 = "UPDATE participacao set likes = $contador WHERE url = $links "; 
mysql_query($query1) or die (mysql_error()); 
} 

?> 

爲什麼這個query1不起作用? (PHPMyAdmin errror#1064)PHPMyAdmin在php中查詢錯誤#1064

我有一個項目爲每個用戶在表單上創建一個頁面,並且每個頁面都有自己的Facebook類似系統,現在我有一種方法來獲取該數據並將其顯示在表格上,但是我想將這些數據插入到我的數據庫中進行排序。將值添加到我的數據庫或直接在PHP中對錶進行排序更容易嗎?

我有一個查詢正在工作,它將URL拉到PHP文件,然後我想創建另一個查詢,以「更新」插入數據到數據庫。

+0

如果你真的想通過phpMyAdmin來運行這個,那就是你的問題。你已經粘貼了PHP代碼; phpMyAdmin是管理MySQL數據庫的管理工具,不會解釋PHP代碼。你應該做的是通過一個PHP解釋器來運行它(通常通過你的web服務器來訪問它)。如果這已經是你正在做的事情,那麼你會得到一個MySQL錯誤1064,而不是phpMyAdmin,並且你的帖子會誤導我們。 –

+0

目前還不清楚在這種情況下出現了什麼問題,所以我投票結束時沒有包含足夠的信息進行診斷。 – halfer

+0

(1)MySQL不是phpMyAdmin。 (2)你的$ query1沒有引用字符串;至少迴應你的查詢並首先檢查什麼是錯誤的。 – Sheepy

回答

3

我認爲url是一個字符串。所以你必須有值的報價:

UPDATE participacao set likes = $contador WHERE url = '$links'