我正在開發一個iPhone應用程序來顯示來自php的數據。從PHP獲取JSON數據到iOS
include_once 'connectionIncl.php';
if(function_exists($_GET['method'])){
$_GET['method']();
}
function getSQLIntoJSONFormat()
{
$arr;
$sql = mysql_query("SELECT * FROM pecivo");
while($pecivo = mysql_fetch_assoc($sql)){
$arr[] = $pecivo['typ'];
}
$arr= json_encode($arr);
echo $_GET['jsoncallback'].'('.$arr.')';
}
// --- http://127.0.0.1:8887/TeplyRohlik/pecivo.php?method=getSQLIntoJSONFormat&jsoncallback=?
當我從瀏覽器運行此,它返回正確的數據:
(["sejra","knir","baba","vousy","sporitelna25"])
此外,iOS上有這樣的代碼數據被從MySQL數據庫然後被編碼到JSON格式在PHP文件獲得:
NSString * urlString = [NSString stringWithFormat:@"http://192.168.0.10:8887/TeplyRohlik/pecivo.php?method=getSQLIntoJSONFormat&jsoncallback=?"];
NSURL * url = [NSURL URLWithString:urlString];
NSData * data = [NSData dataWithContentsOfURL:url];
NSError * error;
NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"%@",json);
而且結果是....(null
)。 我不知道如何得到這個工作...
如果可以從您的設備訪問URL,您嘗試過嗎?轉到您的手機瀏覽器,然後鍵入上面的網址,查看它是否正確回答 – RedRoosterMobile 2012-07-21 17:07:39
歡迎來到Stack Overflow!請不要將'mysql_ *'函數用於新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。請參閱[**紅框**](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這裏是很好的PDO教程](http://goo.gl/vFWnC)。 – 2012-07-21 17:07:40
爲什麼不看看NSError對象來查找更多信息? o,0 – borrrden 2012-07-21 17:10:28