ホームページ バックエンド開発 PHPチュートリアル WinInet シミュレートされた HTTP POST リクエスト エラー

WinInet シミュレートされた HTTP POST リクエスト エラー

Jun 23, 2016 pm 01:55 PM
http post エラー シミュレーション 聞く

VS2012 にブレークポイントを設定して実行を追跡すると、php ファイルへのリクエストが正しい戻り文字列を取得できなかったことがわかりましたが、次のエラー メッセージが表示されました:
無効なクエリ:
SQL 構文チェックにエラーがあります。 1 行目の '' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを参照してください。
クエリ全体:
select id,name fromindex_activities where top=0

この情報は、次のステートメント行の後ろにある私の

$result = mysql_query($query);
ログイン後にコピー

です。 PHP,"if"はリクエストが失敗した場合のみ出力されます。当然mysqlリクエストは失敗しており、PHPファイルの呼び出しは成功したと判断できます。

しかし、Web ページで同じパラメータを使用して同じ PHP ファイルを呼び出すと (GET メソッド)、戻り値は正しいです。

私は
$top = $_REQUEST['top'];
ログイン後にコピー
を使用して php ファイル内のパラメーターを取得します
そのため、POST パラメーターと GET パラメーターの両方が同じ方法で使用できるはずです。

何が問題なのかわかりませんか? WinInet を使用すると、リクエスト文字列に異常が発生しますか?


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

データベース接続は正しいですか?

データベース接続は正しいですか?

接続が正しい場合は、正しくない場合は、mysql に接続できませんを返し、次のリクエストは実行されず、MySQL リクエストのエラー メッセージは表示されません。

同じパラメータを持つ別のシミュレートされた HTTP リクエストがあり、返される値は正しいです:

void CDllValidateDlg::ValidateAPerson(char* Name, char* Code){	CString post_data;	post_data.Format("userid='%s'&name='%s'",Code,Name); //请求的附加参数	CString result; //返回的结果	CString post_page = "test_id_validater/validateid.php"; //请求的php	PostHttpPage(result,post_page,post_data);	AfxMessageBox(result);}
ログイン後にコピー

そして、デバッグ時に理解できないこの HTTP リクエストの何が違うのでしょうか。すべてのパラメータを書き留めました。元々は変数によって決定されていましたが、それでも mysql リクエストが正しくないことが返されます:
void CDllValidateDlg::getActs(HTREEITEM root){	CString post_data="top=0";//	char top[10];//	itoa(ActivitiesTree.GetItemData(root),top,10);//	post_data.Format("top=%s",top);	CString result;	CString post_page = "test_id_validater/GetActivities.php";//	AfxMessageBox("post_page:"+post_page+", "+"post_data:"+post_data);	PostHttpPage(result, post_page, post_data);	AfxMessageBox(result);    ……    ……
ログイン後にコピー

PHP 側の問題のように感じますが、次のように書くと正しい結果が返されます:

<?phprequire "use_daoru.php";$top = $_REQUEST['top'];$query = "select id,name from index_activities where top=0";$result = mysql_query($query);//if(!$result){//$message = 'Invalid query: '.mysql_error()."\n";//$message.= 'Whole query: '.$query;//die($message);//}$num = mysql_num_rows($result);for($i=0;$i<$num;$i++){	$row = mysql_fetch_row($result);	echo($row[0].":".$row[1].",");}?>
ログイン後にコピー

私が書いたコードは次のとおりです:
<?phprequire "use_daoru.php";$top = $_REQUEST['top'];$query = "select id,name from index_activities where top=$top";$result = mysql_query($query);//if(!$result){//$message = 'Invalid query: '.mysql_error()."\n";//$message.= 'Whole query: '.$query;//die($message);//}$num = mysql_num_rows($result);for($i=0;$i<$num;$i++){	$row = mysql_fetch_row($result);	echo($row[0].":".$row[1].",");}?>
ログイン後にコピー

無効なクエリ:

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを確認して、1 行目の '' 付近に使用する正しい構文を確認してください。
クエリ全体:
select index_activities の id,name (top=0)
この情報は明らかにデータベース レポートが間違っています。

$query = "select id,name fromindex_activities where top=0"; の場合は問題ありません
と $query = "select id,name fromindex_activities where top=$top"; の場合は、$top には何もありません。値または数値ではありません
$top = $_REQUEST['top']; $top = intval($_REQUEST['top']); に変更してください

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

http ステータス コード 520 は何を意味しますか? http ステータス コード 520 は何を意味しますか? Oct 13, 2023 pm 03:11 PM

HTTP ステータス コード 520 は、サーバーがリクエストの処理中に不明なエラーに遭遇し、より具体的な情報を提供できないことを意味します。サーバーがリクエストを処理しているときに不明なエラーが発生したことを示すために使用されます。サーバー構成の問題、ネットワークの問題、またはその他の不明な理由が原因である可能性があります。これは通常、サーバー構成の問題、ネットワークの問題、サーバーの過負荷、またはコーディング エラーが原因で発生します。ステータス コード 520 エラーが発生した場合は、Web サイト管理者またはテクニカル サポート チームに連絡して詳細情報と支援を得ることが最善です。

Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Web ページのリダイレクトの一般的なアプリケーション シナリオを理解し、HTTP 301 ステータス コードを理解する Feb 18, 2024 pm 08:41 PM

HTTP 301 ステータス コードの意味を理解する: Web ページ リダイレクトの一般的なアプリケーション シナリオ インターネットの急速な発展に伴い、Web ページの操作に対する人々の要求はますます高くなっています。 Web デザインの分野では、Web ページのリダイレクトは一般的かつ重要なテクノロジであり、HTTP 301 ステータス コードによって実装されます。この記事では、HTTP 301 ステータス コードの意味と、Web ページ リダイレクトにおける一般的なアプリケーション シナリオについて説明します。 HTTP301 ステータス コードは、永続的なリダイレクト (PermanentRedirect) を指します。サーバーがクライアントのメッセージを受信すると、

httpリクエスト415エラーの解決策 httpリクエスト415エラーの解決策 Nov 14, 2023 am 10:49 AM

解決策: 1. リクエスト ヘッダーの Content-Type を確認する; 2. リクエスト本文のデータ形式を確認する; 3. 適切なエンコード形式を使用する; 4. 適切なリクエスト メソッドを使用する; 5. サーバー側のサポートを確認する。

C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? C++ を使用して HTTP ストリーミングを実装するにはどうすればよいですか? May 31, 2024 am 11:06 AM

C++ で HTTP ストリーミングを実装するにはどうすればよいですか? Boost.Asio と asiohttps クライアント ライブラリを使用して、SSL ストリーム ソケットを作成します。サーバーに接続し、HTTP リクエストを送信します。 HTTP 応答ヘッダーを受信して​​出力します。 HTTP 応答本文を受信して​​出力します。

HTTP 200 OK: 成功した応答の意味と目的を理解する HTTP 200 OK: 成功した応答の意味と目的を理解する Dec 26, 2023 am 10:25 AM

HTTP ステータス コード 200: 成功した応答の意味と目的を調べる HTTP ステータス コードは、サーバーの応答のステータスを示すために使用される数値コードです。このうち、ステータス コード 200 は、リクエストがサーバーによって正常に処理されたことを示します。この記事では、HTTP ステータス コード 200 の具体的な意味と使用法について説明します。まず、HTTP ステータス コードの分類を理解しましょう。ステータス コードは、1xx、2xx、3xx、4xx、5xx の 5 つのカテゴリに分類されます。このうち、2xx は成功応答を示します。 200 は 2xx で最も一般的なステータス コードです

AI シミュレーターは物理シミュレーションに新しい SOTA を採用します! AI シミュレーターは物理シミュレーションに新しい SOTA を採用します! Feb 19, 2024 pm 06:50 PM

機械学習でコンピューターグラフィックス(CG)シミュレーションがよりリアルに!この方法はニューラル フロー マップ (NFM) と呼ばれ、4 つの渦で煙を正確にシミュレートできます。より複雑なものも簡単に実現できます。AI アプリケーションが空を飛び回るこの時代においても、CG 物理シミュレーションは依然として重要です。従来の数値アルゴリズムの世界です。 △NFM は「リープフロッグ」をシミュレートします CG にニューラル ネットワークを適用すると、めくるめく視覚効果を生み出すことができますが、物理的特性を厳密かつロバストに記述することはできません。 △NFMは「インク滴」をシミュレートする だからこそ、ニューラルネットワークに基づく物理シミュレーションはまだ概念実証の段階にあり、生み出される効果はSOTAとは程遠い。この複雑な問題を解決するために、

HTTP 503エラーの解決方法 HTTP 503エラーの解決方法 Mar 12, 2024 pm 03:25 PM

解決策: 1. 再試行: 一定時間待ってから再試行するか、ページを更新できます; 2. サーバーの負荷を確認します: サーバーの CPU、メモリ、およびディスクの使用状況を確認します。容量制限を超えている場合は、次のことを試してください。サーバー構成を最適化するか、サーバーの容量を増やします サーバー リソース; 3. サーバーのメンテナンスとアップグレードを確認します: サーバーが通常に戻るまで待つしかありません; 4. ネットワーク接続を確認します: ネットワーク接続が安定していることを確認し、ネットワークが正常に動作しているかどうかを確認しますデバイス、ファイアウォール、またはプロキシ設定が正しいことを確認します; 5. キャッシュまたは CDN 構成が正しいことを確認します; 6. サーバー管理者などに連絡します。

PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Mar 07, 2024 pm 01:45 PM

タイトル: PHP コード例: POST を使用してパラメーターを渡し、ページ ジャンプを実装する方法 Web 開発では、多くの場合、パラメーターを POST 経由で渡し、サーバー側で処理してページ ジャンプを実装する必要があります。 PHP は、一般的なサーバーサイド スクリプト言語として、この目的を達成するための豊富な関数と構文を提供します。以下では、この機能を PHP を使用して実装する方法を、具体的な例を用いて紹介します。まず、2 つのページを準備する必要があります。1 つは POST リクエストを受信し、パラメーターを処理するためのものです。

See all articles