下面的引号“和”之间有什么区别?“怎么办?在下面使用不同的引号”是否存在错误?
$result = pg_query_params($dbconn, 'INSERT INTO users (username, email, passhash_md5) VALUES ($1, $2, $3)', array($username, $email, $passhash_md5 ) $result = pg_query_params( $dbconn, "SELECT user_id FROM users WHERE email = $1", array( $email ) )
使用单引号(’)时不会完成变量替换,这意味着第一个示例中的值在字面上将是$ 1 $ 2,如果它是常规字符串并且没有传递给替换它们的函数,则该值为等。
如果您不需要变量替换,出于性能原因,最好使用单引号。
``调用shell引擎并将其作为实际命令调用,并返回结果,就像在perl中一样。因此,它具有完全不同的含义。
例子:
$ email ='user@example.org'; $ sql1 =“从电子邮件地址为$ email的用户中选择USER_ID”; $ sql2 ='从用户那里选择SELECT user_id,电子邮件= $ email';
$ sql1将是来自用户的SELECT user_id,其中电子邮件= user@example.org
$ sql2是来自用户的SELECT user_id,其中email = $ email