0

私は現在、Ajax、HTML、JavaScript、PHP、および SQL を含む楽しいプロジェクトに取り組んでいます。

プロジェクトを可能な限りデバッグしました。AJAX、HTML、および JavaScript が正常に動作し、変数がサーバーに正しく送信されていることを 100% 確信しています。

データベースからデータを取得し、このデータから (フォームで送信された) 数値を減算し、それに応じてデータベースを更新しようとしています。

私のデータベース更新されます。ただし、正しい数値が表示されません。フォームで送信する1と、常に同じ数値がデータベースに返されます。(私はそれを差し引いているので、これは奇妙です...)。フォームからのデータがサーバーに正しく渡されることは 100% 確信しているので、サーバー ファイルを確認していただきたいと思います。

編集: データベース接続が行われdb.php、正しく行われます。これはテスト済みです。

4

3 に答える 3

2

SQL インジェクションの問題を解決するには、準備済みステートメントに切り替える必要があります。

それとは別に、この特定のコードの問題点mysql_queryは、数値を返さず、リソースを返すことです。数値を取得するには、行をフェッチする必要があります。

于 2012-05-12T01:08:18.280 に答える
1

の戻り値を間違えていると思います。php のマニュアルmysql_queryを見てください。

mysql_queryリソースを返し、それを他の関数に渡して、作成したクエリによって返された値を抽出できます。次のようにする必要があります。

$res = mysql_query(...)
$row = mysql_fetch_assoc($res)
$dec = $res["column_name"] - $some_value

$_REQUEST[...] 配列の値を確認して、SQL インジェクションの脆弱性を排除する必要があります。

于 2012-05-12T01:08:02.187 に答える
1

私の知る限り、結果自体ではなく、をmysql_query返します。resourceしたがって、コードを次のように変更する必要があります。

$res = mysql_query("your_query_here");
$row = mysql_fetch_row($res);
$totaalaantal = $row[0];

http://php.net/manual/en/function.mysql-query.phpを確認してください

于 2012-05-12T01:12:07.850 に答える