php foreachの問題、オンラインなど。
PC クライアントは次の JSON データをバックグラウンドに POST します。JSON 結果配列のデータ エントリは固定されておらず、グループが 1 つである場合もあれば、グループが 3 つある場合もあり、さらに多くなる場合もあります。
例: json 結果配列内の 1 セットのデータ
{
"result" : [
"old_ip" : "61.141.251.21",
"new_ip" : "61 .141.251.22",
"urldata" : " img1.taobao.comr"、
"正常" : "100"、
"エラー" : "102"、
"エージェント" : "Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQ ダウンロード 732; .NET4。「61.141.251.23」、
「new_ip」:「61.141.251.24」、
「urldata」:「img1.taabao.comr」、
「通常」:「100」、
「エラー」:「102」 、
"エージェント" : "Mozilla/4.0 (互換性 ; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)r"
" "new_ip" : "61.141.251.26 ",
"urldata" : "img2.taabao.comr"、
"normal" : "100"、
"error" : "102"、
"agent" : "Mozilla/4.0 (互換性あり、MSIE 6.0、Windows NT 5.1、SV1 ; QQダウンロード 732; .NET4.0E)r"
" " },
" new_ip " : "61.1 41.251.28",
"urldata" : " img3.taobao.comr"、
"正常" : "100"、
"エラー" : "102"、
"エージェント" : "Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732 ;Net4 .0c; .net4.0e) r "
}
]
}
データテーブル:
Create Table` result` (
`ID` int (10) unsigned not null auto_increment,
` `` `` ` ` 100) NOT NULL、
`new_ip` varchar(100) NOT NULL、
`urldata` varchar(100) NOT NULL、
`normal` varchar(10) NOT NULL、
`error` varchar(10) NOT NULL、
`agent` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
バックグラウンド受信 PHP コード:
$result=$_POST [ "結果"];
$arr=json_decode($result,true);専門家の皆様に$arrのデータを取り出してデータベースに書き込む方法を教えていただきたいです(結果データのエントリが固定されていないことを考慮する必要があります)。フォーマットは次のとおりです。完全なコード!必要に応じてボーナスポイントも!
id old_ip new_ip urldata 通常エラー エージェント 1 61.141.251.21 61.141.251.22 img1.taabao.com 100 102 Moz illa/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E )
2 61.141.251.23 61.141.251.24 img2.taabao.com 100 102 Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET 4.0E)
返信ディスカッション (解決策)
print_r($arr); 結果はどうなりましたか
$result=$_POST["result"]; $arr=json_decode($result,true);$arr=$arr['result'];if($arr){ foreach($arr as $val){ $val = array_map('mysql_real_escape_string',$val); $str = "'".implode("','", $val)."'"; $sqlstr = "insert into result(old_ip,new_ip,urldata,normal,error,agent) values(".$str.")"; echo $sqlstr.'<br>'; mysql_query($sqlstr) or die(mysql_error()); }}
fdipzone のモデレーターに感謝します。別の質問があります。アドバイスをお願いします。
user_ip 列が追加された結果データテーブルは次のとおりですが、user_ip フィールドのデータは json 結果配列から取得されるのではなく、php のバックグラウンド変数 $user_ip から取得されます。
質問: foreach を使用して $arr のデータを取り出し、結果データ テーブルに書き込む場合、$user_ip 変数のデータを同時に結果データ テーブルに書き込む方法について教えてください。
追加されたテーブル構造:
id old_ip new_ip urldata 正常なエラー エージェント user_ip
$user_ip=get_userip(); // get_userip() 関数を通じて取得されます。例: 111.23.11.13
$arr=json_decode($result,true ) ;
$arr=$arr['結果'];
if($arr){
foreach($arr as $val){
$val = array_map('mysql_real_escape_string',$val); " '".implode("','", $val)."'";
$sqlstr = "結果(old_ip,new_ip,urldata,normal,error,agent)の値(".$str.")に挿入" ;
$sqlstr = "insert into result(user_ip) value("$user_ip")"; //これを試した後、php がエラーを報告しました
echo $sqlstr.'
';
mysql_query($sqlstr) or die (mysql_error());
}
}
$user_ip=get_userip();$result=$_POST["result"]; $arr=json_decode($result,true);$arr=$arr['result']; if($arr){ foreach($arr as $val){ $val['user_ip'] = $user_ip; $val = array_map('mysql_real_escape_string',$val); $str = "'".implode("','", $val)."'"; $sqlstr = "insert into result(old_ip,new_ip,urldata,normal,error,agent,user_ip) values(".$str.")"; echo $sqlstr.'<br>'; mysql_query($sqlstr) or die(mysql_error()); }}
問題は解決しました。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
