2017-02-01 15 views
0

ユーザーが検索するデータを入力してからアプリケーションがサーバーに送信し、サーバーに送信するアンドロイドアプリケーションを作成しています検索結果をクライアントに返します。私はこのエラーが発生しています。データの解析中にエラーが発生しました。org.json.JSONException:型java.lang.Stringの値<brをJSONArrayに変換できません。

<?php 
 
$hostname = "localhost"; 
 
$username = "root"; 
 
$dbname = "android_api"; 
 
$con=mysql_connect("$hostname", "$username", "$password")or die("cannot connect"); 
 
mysql_select_db("$dbname")or die("cannot select DB"); 
 
$sql = "SELECT d.unique_id, u.name FROM downloads d LEFT JOIN users u ON u.name = d.unique_id WHERE d.link = 'www.google.com'"; 
 
$result = mysql_query($sql); 
 
$json = array(); 
 
if(mysql_num_rows($result)){ 
 
\t while($row=mysql_fetch_assoc($result)){ 
 
\t \t $json['users'][]=$row; 
 
\t } 
 
} 
 
mysql_close($con); 
 
echo json_encode($json); 
 
$con = mysqli_connect($hostname,$username,$password,$dbname); 
 
$unique_id = $_POST['unique_id']; 
 
$link = $_POST['link']; 
 
$sent = $_POST['sent']; 
 
$Sql_Query = "insert into downloads (unique_id,link,sent) values ('$unique_id','$link','$sent')"; 
 
if(mysqli_query($con,$Sql_Query)){ 
 

 
\t echo 'Data Inserted Successfully'; 
 

 
} 
 
else{ 
 

 
\t echo 'Try Again'; 
 

 
} 
 
mysqli_close($con); 
 

 

 
?>

+0

このスクリプトからWebブラウザ経由でデータを取得できますか? – br3t

+0

はい。主な問題は、HttpPostからPHPに値を渡すことです。 私はedittext値を適切に渡すことができませんが、Webブラウザーを介してクエリーを使用する場合は動作します。 – fazfactor

+0

だから、ブラウザで正しいjsonを取得し、アプリケーションでjsonを壊してしまいますか? – br3t

答えて

0

あなたは配列参照に文字列値を代入しようとしています。

$json['users'][]=$row; 

は、配列の要素にそれをasignしてください代わりに

$json['users'][0]=$row; 

それが動作する場合、動的にこの番号を割り当てます。

+0

私はそれを試しました。動いていない。 EditTextの値をPHP変数に渡すにはどうすればいいですか? – fazfactor

関連する問題