ホームページ  >  記事  >  バックエンド開発  >  PHPでのjsonの解析

PHPでのjsonの解析

WBOY
WBOYオリジナル
2016-06-23 13:57:011174ブラウズ

ページから json 文字列を取得し、それを json 配列に変換してデータベースに挿入しましたが、挿入された値はすべて null 値でした。json 文字列を取得できると確信しています。 ? & Lt;? PHP
include_once ('inc/conn.php'); $ json_string = $ _ Request ['name ']; $idcard=$addressInfo['idcrd] '']; $visitedphone $addressInfo['visitedphone'];
echo "1$visitedphone";
echo "2$アドレス";
echo "3$visitedorganization";
$sql="挿入into adress_list(name,idcrad,tel,adress,visitorganization)values(' $name' ,'$idcard','$visitedphone','$address','$visitedorganization') ";
" $rest=0; if($ REST) {h echo "おめでとうございます、アップロードが成功しました!";
} Else {
echo "アップロードに失敗しました。もう一度アップロードしてください!"
}
// データベースを閉じます
mysql_Close ($ con);これは私のコードです。至急アドバイスをお願いします。 。 。


ディスカッションへの返信 (解決策)

print_r ($ addressinfo);


($ addressinfo) を見てください
空の場合、$json_string の値は json 形式ではないと推定されます、こちらをご確認ください。

おそらく引用符の問題です。エスケープする必要があります。エスケープしないと SQL が失敗します。

$sql="insert into adress_list(name,idcrad,tel,adress,visitorganization)values('".mysql_real_escape_string($name)."','".mysql_real_escape_string($idcard)."','".mysql_real_escape_string($visitedphone)."','".mysql_real_escape_string($address)."','".mysql_real_escape_string($visitedorganization)."'); ";


$addressInfo;//这个值应该判断下是否为空 然后再执行下面的逻辑比较好吧

デバッグ中の $addressInfo; の値 name、idcard などの値を取得するには、 $name = $addressInfo[0]['name']; を使用します。報告されます

$name = $addressInfo['visitors'][0]['name']; これは機能します。

配列は次のようになります
次のような番号が得られます: $name=$addressInfo['name'];

明らかに何かが間違っています

foreach に 1 つのレイヤーが欠落していますが、すぐに表示されます


はずです次のように記述します

$addressInfo =json_decode( $json_string,TRUE);

$addressInfo=['visitors'][0];
元のコードは次のとおりです

配列ではなくオブジェクトを取得していますか


$name = $ addressInfo['visitors'][0]['name']; これは機能します。

この方法で入手できます

ありがとうございます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。