2016-04-05 11 views
-1

PHPコードからのデータが供給ながらSQLインジェクションのエラーを解決することができないURL

<?php 
    require_once "../model/db_helpers.php"; 
    $movie_id=mysqli_real_escape_string($obj->conn,$_GET['id']); 
    //echo $movie_id; 
    $watch=mysqli_real_escape_string($obj->conn,$_GET['watch']); 

    $result= $obj->select("movie_views","all_movies","movie_id='$movie_id'"); 

    //print_r($result); 

    if($watch =="true") 
    { 
     $result[0]->movie_views ++; 
     $movie_views= $result[0]->movie_views; 
     $update= $obj->update("all_movies","movie_views='$movie_views'","movie_id='$movie_id'"); 

     //print_r($update); 
    } 

?> 
<script> 
    //window.location.href="showcontent.php?id=<?php echo $movie_id; ?>"; 
</script> 

すべてが更新クエリを除いて機能的です。私はリンクのクリックをURLに渡すデータであるidにクエリの条件として与える必要があるデータベースにリンクのクリックを更新する必要があります。

私は、sqlinjectionエラーを避けるためにmysqli_real_eascape_stringを使用しなければならないことを知っています。しかし、私はまだ何とか次のエラーを取得します。エラー

あなたのSQL構文でエラーが発生しています。ライン1

で「」 が近く を使用する権利構文についてはMySQLサーバのバージョンに対応していること取扱説明書をご確認だけでなく、私が主題に新しいですと、私が間違っていた場所について説明した答えを提供してください。

ありがとうございました。

+0

私はdb_helpersファイルのcrudのために別々の関数を作っています。 –

+1

db_helperはどのようなSQLクエリを生成しますか? – st2erw2od

+0

機能更新($表、$レコード、$条件) \t \t { \t \t \t $のSQL = "更新$テーブルセット$レコードの$ scondition"。 \t \t \t \t \t \t $結果= mysqli_query(の$ this - > CONN、$のSQL)またはダイ((mysqli_errorの$ this - > CONN))。 \t \t \t \t \t \tエコー "更新に成功しました"; \t \t} –

答えて

0

あなたは=

変更
$ sqlを

に$ sqlを= "更新$表$ $レコードを設定し、 "更新$表が$ sconditionは$レコードを設定し、" 変数名の綴りが誤っています条件

ので、生成されたクエリには条件がありませんupdate all_movies set movie_views='X' where"
ある

関連する問題