2012-05-12 20 views
0

私は現在、Ajax、HTML、JavaScript、PHP、SQLなどの楽しいプロジェクトに取り組んでいます。データベースが間違ったデータを更新しています

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

私はデータベースからデータを取得しようとしていますが、このデータから数値を減算し、それに従ってデータベースを更新しています。

私のデータベースに更新されます。ただし、正しい番号が表示されていません。フォームに1を送信すると、常にデータベース内の同じ番号が返されます。 (私はそれを減算しているので、これは奇妙です...)。私はフォームからのデータがサーバーに正しく渡されていることを100%確信していますので、皆さんが問題になるはずのサーバーファイルを確認してください。

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

答えて

2

SQLインジェクションの問題を解決するには、実際にプリペアドステートメントに切り替える必要があります。

それ以外は、この特定のコードで何が問題なのですか。mysql_queryは数値を返しません。リソースを返します。番号を取得するには、行を取得する必要があります。

+0

おかげでたくさんの!私はそれを調べます、あなたの素早い返答のおかげで! – user1390504

1

私は、あなたが作ったクエリによって返された値を抽出するために、いくつかの他のfuncionに渡すことができるリソースを返しmysql_queryphp's manual

を見て、あなたがmysql_queryの戻り値を間違えていると思います。あなたはこのような何かをする必要があります

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

あなたがsql injection脆弱性を排除するために$ _REQUEST [...]配列の値をチェックする必要があります。

1

私が知る限り、mysql_queryresourceという結果を返します。ですから、このような何かにあなたのコードを変更する必要があります。

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

チェックhttp://php.net/manual/en/function.mysql-query.php

関連する問題