当前位置:  开发笔记 > 编程语言 > 正文

PHP:不同的报价?

如何解决《PHP:不同的报价?》经验,为你挑选了1个好方法。

引号"和"之间的区别是什么?怎么样?使用不同的引号和"下面是否有错误?"

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

jishi.. 19

使用单引号(')时不会进行变量替换,这意味着如果第一个示例中的值实际上是$ 1 $ 2等,如果它是常规字符串而不传递给替换它们的函数.

如果您不需要变量替换,出于性能原因,最好坚持使用单引号.

``调用shell引擎并将其作为实际命令调用,并返回结果,就像在perl中一样.因此,它具有完全不同的含义.

例子:

$email = 'user@example.org';
$sql1 = "SELECT user_id FROM users WHERE email = $email";
$sql2 = 'SELECT user_id FROM users WHERE email = $email';

$ sql1将是SELECT user_id FROM users WHERE email = user@example.org

$ sql2将是SELECT user_id FROM users WHERE email = $ email



1> jishi..:

使用单引号(')时不会进行变量替换,这意味着如果第一个示例中的值实际上是$ 1 $ 2等,如果它是常规字符串而不传递给替换它们的函数.

如果您不需要变量替换,出于性能原因,最好坚持使用单引号.

``调用shell引擎并将其作为实际命令调用,并返回结果,就像在perl中一样.因此,它具有完全不同的含义.

例子:

$email = 'user@example.org';
$sql1 = "SELECT user_id FROM users WHERE email = $email";
$sql2 = 'SELECT user_id FROM users WHERE email = $email';

$ sql1将是SELECT user_id FROM users WHERE email = user@example.org

$ sql2将是SELECT user_id FROM users WHERE email = $ email


转义控制字符,如\n和\ t也不会在单引号字符串中展开.
PHP使用状态机标记输入文本([像这样](http://gcov.php.net/PHP_5_3/lcov_html/var/php_gcov/PHP_5_3/Zend/zend_language_parser.c.gcov.php)),所以**那里当你不使用变量插值时,单引号和双引号之间绝对没有性能差异**.此外,显示具有严重安全漏洞的示例代码并不酷.
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有