{}如何影响PHP中的MySQL查询?

Jam*_*son 13 php mysql

以下2个查询之间有什么区别?

mysql_query("UPDATE table SET name = '$name'");

mysql_query("UPDATE table SET name = '{$name}'");
Run Code Online (Sandbox Code Playgroud)

Pas*_*TIN 21

在SQL方面,绝对没有区别:两个查询完全相同.
(你可以通过回声来检查它)

{$variable}是一个更完整的语法$variable,允许使用:

  • "this is some {$variable}s"
  • "{$object->data}"
  • "{$array['data']}"
  • "{$array['data']->obj->plop['test']}"


有关更多信息,您应该阅读本手册的变量解析/复杂(卷曲)语法部分(引用几位):

这不称为复杂,因为语法很复杂,但因为它允许使用复杂的表达式.

可以通过此语法包含具有字符串表示的任何标量变量,数组元素或对象属性.
只需像在字符串外部一样编写表达式,然后将其包装在{和中}.


Tre*_*non 7

花括号"逃避"PHP变量并且不传递给MySQL.有一个简单的变量,就像$name它没有区别,但有类似的东西$user['name'].因此,您在问题中发布的两个查询之间没有任何区别.