2016-06-16 8 views
0

私はSQLで新しく、このコードをどのように動作させることができるか知りたいと思います。 $lala$loloが可変であることを理解していないためです。SQL INSERTの変数

$lolo = "ahha"; 
$lala = "2"; 
$sql = "INSERT INTO organisation (id_orga, nom) VALUES "; 
$sqll = '($lala, $lolo)'; 

$resultat = $conn->query($sql.$sqll); 

ので、私が試した:

$lolo = "ahha"; 
$lala = "2"; 
$sql = "INSERT INTO organisation (id_orga, nom) VALUES "; 
$sqll = '('.$lala.','. $lolo.')'; 

$resultat = $conn->query($sql.$sqll); 

をしかし、両方のコードは、私のBDDINSERTないともエラーを与えません。

+3

さえ開始時に、常にプリペアドステートメントを使用するより良い代替手段ですpdoを見てみましょう。 prepared-statements.php –

+0

あなたはどのDBMSを使用していますか?そして、どのようなプログラミング言語ですか? –

答えて

1

してみてください:あなたがそれらをエコーまたは印刷する必要がある場合

$lala = "ahah"; 

あなたは echo 'this is my' . $lala; OR echo "this is my $lala";のような文字列の連結を行うことができます

これは、二重引用符を使用すると、連結する必要なく変数を挿入できるためです。 だから、あなたのケースで:

$sqll = '('.$lala.','. $lolo.')'; 

正しいであり、以下のように同じである:単一引用符で

$sqll = "($lala, $lolo)"; 

$sqll = '($lala, $lolo)';はそれが出力($lala, $lolo)だろうといないと動作しないでしょう(2, ahaha)


:http://php.net/manual/de/mysqli.quickstart:MySQLのセキュリティワイズ

+0

あなたの偉大な答えをありがとうございますが、私はここに作業コードがあることを理解しています: '$ lolo = "ahha"; $ lala = "2"; $ sql = "INSERT INTO組織(id_orga、nom)VALUES"; $ sqll = "( '"。$ lala。 "'、 '"。$ lolo。 "')"; $ resultat = $ conn-> query($ sql。$ sqll); echo $ sql。$ sqll; ' – moskitos

+0

はいDBに文字列を挿入して挿入文に書き込むには、一重引用符が必要です – Apostolos

+0

また、回答を選択して助けてください。 thnx – Apostolos

1

variblesがそうのように宣言されている二重引用符PHPで

$sqll = "($lala, $lolo)"; 
+1

も参照してくださいhttp://stackoverflow.com/questions/5605965/php-concatenate-or-directly-insert-variables-in-string – Apostolos