2016-07-18 9 views
-1

データをPHPファイルに投稿し、JSONレスポンスを使用してテーブルを生成したいとします。私はちょうど迅速に学ぶために始めたので、私はどこに間違っていたかわからないので、どんな助けも大いに感謝されるでしょう。レスポンスを投稿して使用するSWIFT

迅速ファイル:

func get(){ 
    let request = NSMutableURLRequest(URL: NSURL(string: "http://localhost/test.php")!) 
    request.HTTPMethod = "POST" 
    let postString = "country=\(buttonPressedVal)" 
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding) 
    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { 
     data, response, error in 

     if error != nil { 
      print("error=\(error)") 
      return 
     } 
     do { 
      let url = NSURL(string: "http://localhost/test.php") 
      let data = NSData(contentsOfURL: url!) 
      let result = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSArray 

      print("Result -> \(result)") 

     } catch { 
      print("Error -> \(error)") 
     } 


     } 
     task.resume() 
    } 

私はテーブルビューを生成するために、結果変数を使用したいです。

PHPファイル:

<?php 

$pdo = new PDO("mysql:host=localhost;dbname=imoova","root","mysql"); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

if(isset($_POST['country'])){ 
    $country = $_POST['country']; 
}else{ 
    //$country = 'Australia'; 
    echo "Failed to get post\n"; 
} 

try 
{ 
    $sql = "SELECT * FROM imoova._relocation_deals A, imoova._airport_codes_lookup B WHERE A.location_from = B.code AND B.country = :country AND A.active = 1"; 
    $result = array(); 
    $stmt = $pdo->prepare($sql); 
    $stmt->bindParam(":country", $country); 
    $stmt->execute(); 
    while($result = $stmt->fetch()){ 
     echo json_encode($result); 
    } 
} 
catch (PDOException $e) 
{ 
    echo $e->getMessage(); 
}  
?> 

私が手にエラーがあります。エラー - >エラードメイン= NSCocoaErrorDomainコード= 3840 "ごみ終わり。" UserInfo = {端にNSDebugDescription =ごみ。}

答えて

0

PHPコードでこれらのライン:

while($result = $stmt->fetch()){ 
     echo json_encode($result); 
    } 

あなたが単一の応答で複数のJSONを生成しています。これは有効なJSONではありません。次のように改行してください:

while($row = $stmt->fetch()){ 
     $result[] = $row; 
    } 
    echo json_encode($result); 
関連する問題