2014-07-27 111 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'