一尘不染

PHP:不同的引号?

php

下面的引号“和”之间有什么区别?“怎么办?在下面使用不同的引号”是否存在错误?

 $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 )
          )

阅读 221

收藏
2020-05-29

共1个答案

一尘不染

使用单引号(’)时不会完成变量替换,这意味着第一个示例中的值在字面上将是$ 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

2020-05-29