2017-04-06 11 views
-4

ここに私の質問です:引用符のないPHP変数とは何ですか

引用符のないPHP変数/文字列とは何ですか?

$email = $_POST['email']; 

$query = "DELETE FROM email_list WHERE email = $email"; 

正しいコードは次のようになります。:以下は私が書いたと間違っていたコードであるので、

$query = "DELETE FROM email_list WHERE email = '$email'"; 

は、変数$ eメールは、それがどのようなI入力がでいた場合でも、引用符なしの文字列ではありません形?

は、それから私は、PHPのコードを書いた:

echo($email."<br />"); 
echo("$email" ."<br />"); 

結果はブラウザで同じであることが判明しました。 それで二重引用符で囲まれている間に、$電子メールを囲む別の一重引用符を追加するのはなぜですか?

+0

クエリをエコーし​​ましたか? – Swellar

答えて

0

書き込み$email"$email"は同じものを出力します。 "'$email'"を書くことはできません。

最後のケースでは、前と後の一重引用符を追加しています。これはSQLが文字列を認識するために必要なものです。

SQL言語の作成者が、文字列を#で囲む必要があると判断した場合は、SQLエンジンに文字列を認識させるには、"#$email#"と記述する必要があります。 PHPが文字列を扱う方法や補間する方法とは何の関係もありません。それはSQLと関係があります。

+0

あなたのアンサーは非常に明確です、ありがとう! –

関連する問題