它在php中插入数据时在mysql表中的语法

时间:2010-11-26 16:00:53

标签: php mysql string-concatenation

为什么使用这种语法:

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,function没有任何困惑,但为什么mysql_escape_string($name)包含在两个点内:. 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电子邮件验证程序。

3 个答案:

答案 0 :(得分:1)

点(。)是字符串连接的粘合剂。它也用于分离变量:

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

双引号是我们说这是一个字符串的方式:

123

被视为整数,

"123"

被视为字符串。

最后单引号是mysql语法的一部分,要求字符串被'。

包围。

答案 1 :(得分:0)

(。)将整个字符串连接在一起。见string operators

如果您回复查询,它将看起来像这样。

INSERT INTO users (username, password, email, hash) 
    VALUES ('Jeff', 'hashedpassword', 'email@email.com', 'somehash')

答案 2 :(得分:0)

点运算符是字符串连接的粘合剂。双引号表示字符串的开头和结尾。 “string1”。 “string2”。 “string3”将等同于:“string1string2string3”。