2012-07-08 2 views
0

아무도이 오류를 도와 줄 수 있습니까? 한동안 그것을보고 있었지만 작동시키지 못했습니다. 오래 전에 이것을 썼고 마지막으로 떠났을 때 효과가있는 것 같았지만 다시 방문했을 때 실행할 수 없었습니다. 모든 도움에 감사드립니다.알림 : 46 번째 라인의 .../search.php에있는 non-object의 속성을 얻으려고 시도했습니다.

주의 사항 : 라인에 /Applications/MAMP/htdocs/search/views/layouts/search.php 46

경고가 아닌 개체의 속성을 얻으려고 노력 : foreach는 대한 공급 잘못된 인수()/응용 프로그램 /MAMP/htdocs/search/views/layouts/search.php on line 46

라인 46은 코드의 마지막 줄에서 4 번째 라인입니다.

<?php 

include($_SERVER['DOCUMENT_ROOT'].'/'.'search/scripts/JSON.php'); 
include($_SERVER['DOCUMENT_ROOT'].'/'.'search/scripts/search_fns.php'); 

$searchquery = urlencode(isset($_GET['search']) ? $_GET['search'] : "news"); 

// Google Search API 

$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&" 
. "q=" 
. $searchquery 
."&key=ABQIAAAAYIeqEnf9yNjBzcHJK7yDdhSklBzi76D_F0lniPI7JR27aK7eCBSU-xpNs1axVS45y_PX_7_ibsScUA&userip=USERS-IP-ADDRESS&rsz=filtered_cse"; 

// sendRequest 
// note how referer is set manually 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_REFERER, "http://localhost"); 
$body = curl_exec($ch); 
curl_close($ch); 

// process the JSON string 
$json = new Services_JSON; 
$json = $json->decode($body); 

$formattedresults = ""; 
$rating = ""; 

$search = $searchquery; 

?> 
<style type="text/css"> 
td img {display: block;} 
</style> 
<div id="main"> 

<?php 
foreach($json->responseData->results as $searchresult) 
{ 
if($searchresult->GsearchResultClass == 'GwebSearch') 
{ 
+1

기본 디버깅 : var_dump ($ json); –

답변

0

아마도 빈 응답을 반환했습니다. foreach를 사용하기 전에 is_object($json->responseData)을 사용하여 변수를 테스트하는 것이 유용합니다. 또한 '결과'속성이 있는지 확인합니다. property_exists($json, 'results')

+0

어떻게? 몇 가지 PHP 코드를 보여주십시오 ... – andrebruton

관련 문제