-1
我有一些PHP腳本從其他網站獲取json數據。它通過GET方法(電子郵件)檢索URL變量,並根據此變量從用戶數據庫中獲取唯一電影代碼的結果。然後將這些代碼一個一個地放在omdbi.com的web api中,以獲得json對象的結果並放入一個數組中,該數組用於收集json對象,然後返回結尾jsonphp腳本不從網頁主機服務器上的網址獲取數據
但是,當我從它的工作原理本地主機服務器,並返回結果爲JSON 如..
{
"movieRecord":[
{
"Title":"Frozen",
"Year":"2013",
"Rated":"PG",
"Released":"27 Nov 2013",
"Runtime":"102 min",
"Genre":"Animation, Adventure, Comedy",
"Director":"Chris Buck, Jennifer Lee",
"Writer":"Jennifer Lee (screenplay)",
}
]
}
但是,當我這樣做從虛擬主機提供商的服務器返回空值我
{
"movieRecord":[
null,
null,
null
]
}
我能做些什麼?
我的代碼:
<?php
include "conn3.php";
[email protected]$_GET['email'];
$query2 = "SELECT id from tbl_login where email='$get_user_email';";
$hasil2 = mysql_query($query2)or die(mysql_error());
while ($data2=mysql_fetch_array($hasil2)){
$id= $data2['id'];
}
$query = "SELECT movie from usermovieassoc where userr='$id';";
$hasil = mysql_query($query)or die(mysql_error());
if (mysql_num_rows($hasil) > 0) {
$response = array();
$response["movieRecord"] = array();
while ($data = mysql_fetch_array($hasil))
{
$h['movie'] = $data['movie'] ;
$get_id=$h['movie'];
$url = file_get_contents("http://www.omdbapi.com/?i=$get_id&plot=full&r=json");
$arr = json_decode($url,true);
json_encode($arr)
array_push($response["movieRecord"], $arr);
}
echo json_encode($response);
}
else {
echo json_encode($response);
}
?>
你很容易受到[sql注入攻擊](http://bobby-tables.com) –
'json_encode($ arr)'有什麼意義?你不會在任何地方保存編碼數組,所以這是一個毫無意義的/無用的調用。你也只是假設file_get_contents()調用實際上返回了json。在處理外部資源時永遠都不會成功。總是假設失敗,檢查失敗,並將成功視爲令人驚喜的事情。 –
感謝您的指導。我是初學者,我會照顧它..但你能告訴我另一種嗎? –