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']); を試してください