2017-12-15 15 views
-4

私はアーカイブの問題を探しましたが、報告された解決策は私の場合は良くありませんでした。 私はテーブル名の代わりにPHPの変数を挿入するために右の構文を理解することはできません。代わりにgalleria1の私は$ギャラリーPHPの変数を入力する必要がmysqlのクエリ(テーブルの名前)にPHP変数を挿入

$insert_sql = "INSERT INTO galleria1(contatore, immagine) VALUES ('', '".$filename."')"; 

。 私を助けることができる人のおかげです。

$insert_sql = "INSERT INTO `" . $gallery . "`(contatore, immagine) VALUES ('', '".$filename."')"; 

をそして$gallery変数が実際にそれで価値を持っていることを確認してください:

+0

http://php.net/manual/en/language.operators.string.php – VisioN

+2

https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-インジェクションインPHPのSQLインジェクションを防ぐために –

+0

IMHOこれは、stackoverflowの質問ではありません。あなたは間違いなくマニュアルを読むべきです。たとえば、VisioNによって提供されるリンクです。 –

答えて

0

は、単純に次のように行います。 デバッグの場合は、echo $insert_sql;を使用して、sqlが正しい構文になっているかどうかを確認するだけです。上記のコード

重要な注意

SQLインジェクションに関する非常に安全ではないので、記事次のよう確認してください。

How can I prevent SQL injection in PHP?

、ケースを処理する方法を学ぶために。この構文で

+3

このコードはSQLインジェクションの脆弱性があります –

+2

教えてください/粗雑で危険なコードの慣行を伝播しないように注意してください。準備ができていない文章を投稿した場合[投稿する前にこれを考慮する](http://meta.stackoverflow.com/q/344703/)。さらに[もっと貴重な答えは、正しい方法をOPに示すことから来ている](https://meta.stackoverflow.com/a/290789/1011527)。 –

0

$insert_sql = "INSERT INTO " . $gallery . "(contatore, immagine) VALUES ('', '".$filename."')"; 

私は、このエラーメッセージを持っている:

database error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(contatore, immagine) VALUES ('', '03.jpg')' at line 1

私は、データベース内のテーブルの名前(galleria1)で$ガレリアを変更した場合のコードはokです。

+0

私はいくつかの改訂を行ったので私の答えをチェックしてください。エラーメッセージから、私は$ galleryが何の価値もない空の変数だと感じます。 $ insert_sqlを最初にエコーして、正しい方法であるかどうかを調べることができます。 – Codemole

+0

ありがとう、私は間違っていた、$ galleriaを書く代わりに、私は$ galleria1が存在しなかったと書いていた。 $ galleriaは内部に値を持ち、今は動作します。 –

+0

ようこそ。上記の私の答えを受け入れることができます。 :D – Codemole

関連する問題