2010-11-26 12 views
0

なぜ使用この構文は次のとおりです。そのデータを挿入しながら

mysql_query("INSERT INTO users (username, password, email, hash) VALUES( 
'". mysql_escape_string($name) ."', 
'". mysql_escape_string(md5($password)) ."', 
'". mysql_escape_string($email) ."', 
'". mysql_escape_string($hash) ."') ") or die(mysql_error()); 

私はmysql_escape_string、機能についての混乱を持っていない、しかし、なぜ2個のドットで囲まれ、mysql_escape_string($name)です:. mysql_escape_string($name) .二重引用符で囲まれています". mysql_escape_string($name) ."最後に全体のことは、単一引用符で囲まれている:http://net.tutsplus.com/tutorials/php/how-to-implement-email-verification-for-new-members/

...そのPHPの電子メールの検証プログラム:'". mysql_escape_string($name) ."'私はこのフォームに、次のWebリソースを得ました。

+0

すげえ!コードタグにコードを貼り付けてください! – benhowdle89

+2

あなたは、そのチュートリアルを無視して、 'mysqli'または' PDO'を使用する方法を教えて何かを見つける必要があります。 – Stephen

+0

2つのオフトピックヒント: 'mysqli'または' PDO'の代わりに、 'mysql'コネクタを使用します。安全で速いです。また、安全のために 'md5($ password)'関数に塩を加えてください。 –

答えて

0

(。)を一緒に文字列全体を連結しています。あなたは、それは次のようになりますクエリをecho'ed場合は、ここでstring operators

参照してください。

INSERT INTO users (username, password, email, hash) 
    VALUES ('Jeff', 'hashedpassword', '[email protected]', 'somehash') 
+0

まさに! mysql_escape_string関数を囲む引用符を考えないでください!一重引用符は実際には文字列内の単なる文字です。二重引用符は文字列を区切り、ドットはすべてを結合します。すべてが1つの文字列にまとめられているとき、この答えが示すように、単一引用符が値を囲みます。 –

0

ドット演算子は、文字列連結のための接着剤です。二重引用符は、文字列の開始と終了を表します。 "string1"。 "string2"。 "string3"は "string1string2string3"と等しくなります。

1

ドット(。)文字列の連結のための接着剤です。これは、変数を分離するためにも使用されます。

"First part of a string". $myvar ." second part of a string" 

二重引用符、我々はそれが文字列であると言う方法です:

123 

は整数、

"123" 

が考慮されると考えられています文字列。

最後に、一重引用符は、文字列を 'で囲む必要があるmysql構文の一部です。

関連する問題