Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将Facebook阵列转换为mysql数据库_Php_Mysql_Arrays_Facebook - Fatal编程技术网

Php 将Facebook阵列转换为mysql数据库

Php 将Facebook阵列转换为mysql数据库,php,mysql,arrays,facebook,Php,Mysql,Arrays,Facebook,我正试图建立一些数据,为每个网址,我们已经根据总喜欢,共享等,以便我可以一个前十名的名单是最喜欢和共享等 代码不是我的强项,但这是我已经解决的问题,但它似乎得到了数组,但我似乎不明白如何捕获数组片段并将它们转换到一个集合表中以保存数据 $fql = "SELECT url, normalized_url, share_count, like_count, comment_count, "; $fql .= "total_count, commentsbox_count, comments_fb

我正试图建立一些数据,为每个网址,我们已经根据总喜欢,共享等,以便我可以一个前十名的名单是最喜欢和共享等

代码不是我的强项,但这是我已经解决的问题,但它似乎得到了数组,但我似乎不明白如何捕获数组片段并将它们转换到一个集合表中以保存数据

$fql  = "SELECT url, normalized_url, share_count, like_count, comment_count, ";
$fql .= "total_count, commentsbox_count, comments_fbid, click_count FROM ";
$fql .= "link_stat WHERE url = 'http://www.google.com'";

$apifql="https://api.facebook.com/method/fql.query?format=json&query=".urlencode($fql);
$json=file_get_contents($apifql);

$id = 311;

if(is_array($json)){
foreach($json as $key => $value){

$url = mysql_real_escape_string( $value['url'] );
$share_count = mysql_real_escape_string( $value['share_count'] );
$like_count = mysql_real_escape_string( $value['like_count'] );
$comment_count = mysql_real_escape_string( $value['comment_count'] )

$sql = "UPDATE `fb_counts` SET `url` = $url, `share_count` = $share_count, `like_count` = $like_count, `comment_count` = $comment_count WHERE id = $id" ;
mysql_query($sql) or exit(mysql_error()); 
  }
}
将该行替换为下面的行,并弹出一个错误

$json= json_decode(file_get_contents($apifql));
警告:json_decode()要求参数1为字符串,数组在第17行的C:\xampp\htdocs\test\FBCount.php中给出

致命错误:无法在第47行的C:\xampp\htdocs\test\FBCount.php中将stdClass类型的对象用作数组

我缩短了所需的信息,以使其更简洁,数组现在短得多,但仍然让我挠头。阵法真的伤到我的小脑袋了……哈哈

数组([0]=>stdClass对象([url]=>[share\u count]=>56[like\u count]=>62[comment\u count]=>46))

好了,开始有点道理了。。。。设法使数组看起来像这样….
数组([url]=>[share\u count]=>5268340[like\u count]=>1342562[评论\u count]=>1716901)

我脑子里想不清的是什么,我花了几个小时试着读这本书,我想我要么太笨了,要么钱很快就会掉下来。。。如何将key=>数据放入数据库

foreach ($fbdata2 as $key => $value) {

$url = mysql_real_escape_string($value[url]);    
$query = "UPDATE videos.fb_data SET 'url' = '$url' WHERE id='$id'";
mysql_query($query) or die( mysql_errno());
我刚刚选择了数组中的第一个键,看看它是否有效,但我让它工作了,我尝试了各种格式,但没有成功地将我需要的数据输入到数据库中


真的非常感谢你的帮助-我是一个老家伙,所以事情对我来说不是那么容易搞定的…

使用json_decode将json转换为PHP valiable

$json= json_decode(file_get_contents($apifql));
您还可以检查此工作代码片段:

<?php
$fql  = "SELECT url, normalized_url, share_count, like_count, comment_count, ";
$fql .= "total_count, commentsbox_count, comments_fbid, click_count FROM ";
$fql .= "link_stat WHERE url = 'http://www.google.com'";
$apifql="https://api.facebook.com/method/fql.query?format=json&query=".urlencode($fql);
$json= json_decode(file_get_contents($apifql), true);
foreach ( $json[0] as $key => $val ) {
   echo $key.' = '.$val."<br/>";
}
?>

我使用了true插件来帮助清理阵列

$json= json_decode(file_get_contents($apifql),true);

非常感谢你的帮助,我的大脑仍然有些抓挠,但这不是一件坏事,因为这有助于我更好地理解事情。随着年龄的增长,我的大脑无法运行在lig

嗨,抱歉不得不编辑最上面的帖子,因为我没有足够的代表来回复我自己的帖子…:-(在顶部编辑了我的原稿,内容是我到目前为止所取得的进展-非常接近,我觉得我在试图理解数组的工作原理时变得秃顶了。。。