Array de Freebase MID y envío de múltiples consultas a freebase
Quiero recorrer los resultados de MySQL, que es una matriz de Freebase MIDs, y quiero que la salida sean los nombres del artículo de Freebase.
Aquí está mi código:
$query = "SELECT `mid` FROM `items`";
$result = mysql_query($query);
$count = 1;
while ($row = mysql_fetch_array($result)) {
$mid = $row['mid'];
$simple_query = array('name'=> null, 'mid'=>$mid);
$q_array = array('q'.$count=>array('query'=>$simple_query));
array_push ($query_array, $q_array );
$count++;
}
$jsonquerystr = json_encode($query_array);
$apiendpoint = "http://api.freebase.com/api/service/mqlread?queries";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$apiendpoint=$jsonquerystr");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$jsonresultstr = curl_exec($ch);
curl_close($ch);
$resultarray = json_decode($jsonresultstr, true); #true:give us the json struct as an array
foreach($resultarray as $name){
echo "$name<br>";
}
error:
{"code": "/ api / status / error", "messages": [{"code": "/ api / status / error", "message": "" list 'object no tiene el atributo' get '"} ], "status": "500 Internal Error", "transaction_id": "cache; cache04.p01.sjc1: 8101; 2012-05-14T07: 31: 39Z; 0079"}