ホームページ >バックエンド開発 >PHPチュートリアル >WinInet が HTTP POST リクエストをシミュレートし、エラーを報告する

WinInet が HTTP POST リクエストをシミュレートし、エラーを報告する

WBOY
WBOYオリジナル
2016-06-13 11:59:47933ブラウズ

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

この投稿は、2014-06-09 14:02:10 に dimply によって最終編集されました VS2012 でブレークポイントを設定して実行を追跡し、php ファイルのリクエストが正しい文字列が返されませんでしたが、次のエラー メッセージが表示されます:

無効なクエリ:
SQL 構文にエラーがあります。正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。行 1 の '' 付近を使用します
クエリ全体:
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 を使用すると、リクエスト文字列に異常が発生しますか?
------解決策---------
無効なクエリ:
にエラーがありますSQL 構文; MySQL サーバーのバージョンに対応するマニュアルを確認して、行 1 の '' 付近で使用する正しい構文を確認してください
クエリ全体:
select id,name fromindex_activities where top=0
thisこの情報は明らかにデータベースによって報告されたエラーです。

$query = "select id,name from index_activities where top=0"; の場合は可能です
$query = "select id,name fromindex_activities where top=$top"; の場合は可能です。可能です
これは、$top に値がないか、数値ではないことを意味します
------解決策----------- ------------
$top = $_REQUEST['top']; $top = intval($_REQUEST['top']);
を試してください
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。