2017-10-22 23 views
-3

このエラーがあります。 私はどこが間違っているのか分かりません。 誰でも助けてくれますか?必要に応じて使用`文字がないSQL構文にエラーがあります。あなたのMariaDBサーバーのバージョンに対応するマニュアルをチェックして、正しい構文が近くのstanを使用するようにしてください。

<?php 
     include 'config.php';     
     if ($tip_vesti == 'Vest') { 
     $sql = "INSERT INTO `vesti`(`tip`, `naslov`, `uvod`, `vest_image`, `razrada`, `zakljucak`, `video`, `date`) 
        VALUES ('$tip', '$naslov', '$uvod', '$vest_image', '$razrada', '$zakljucak', '$video', '$date')"; 
     } else if ($tip_vesti == 'Odaberi jedno') { 
      $error = "Molimo odaberite tip vesti"; 
     } else if ($tip_vesti == 'Transfer') { 
      $sql = "INSERT INTO `transferi`(`tip`, `naslov`, `uvod`, `vest_image`, `razrada`, `zakljucak`, `video`, `date`) 
        VALUES ('$tip', '$naslov', '$uvod', '$vest_image', '$razrada', '$zakljucak', '$video', '$date')"; 
     } else { 
      $sql = "INSERT INTO `blogovi`(`id_user`, `tip`, `naslov`, `uvod`, `vest_image`, `razrada`, `zakljucak`, `video`, `date`) 
        VALUES ('$id_user', '$tip', '$naslov', '$uvod', '$vest_image', '$razrada', '$zakljucak', '$video', '$date')"; 
     } 
?> 
+0

追加情報をご提供ください。 – AndrewLeonardi

+2

あなたの値の1つに文字 '' 'が含まれていて、SQL文で使用している文字列を正しくエスケープしていないため、エラーが発生します。どのSQLモジュールを使用しているかわからないと、適切な解決方法を提供するのは難しいですが、 "prepared statement"とライブラリ(mysqli、mysql、pdoなど)を検索してみてください。 – MatsLindh

+0

エラーメッセージに記載されている "s stan"の文は、指定したSQL文テンプレートでは発生しません。したがって、私たちは手助けできません。そのエラーをトリガーする別のステートメントがあるか、変数の1つにトリガーを行うテキストが含まれています。後者は、コードのSQLインジェクションの脆弱性を示します。 – arkascha

答えて

0

本体: はここに私のコードです。

そうしないと、最終的SQLクエリを印刷し、実際のクエリのエラーを参照してくださいMariaDBコンソールで実行する必要があります。ところで

、リックPHPがサニタイズのためにあなたが照会に渡すデータをすべてprepared statementsを提供し、変数から直接クエリを実行するセキュリティです。

+0

訂正headmaxに感謝します。 –

関連する問題

 関連する問題