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

2022-08-31 00:36:32

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

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

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

答案 1

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

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

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


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

这之所以称为复杂,不是因为语法很复杂,而是因为它允许使用复杂的表达式。

任何具有字符串表示形式的标量变量、数组元素或对象属性都可以通过此语法包含在内。
只需以与字符串外部相同的方式编写表达式,然后将其包装在 和 中。{}


答案 2

大括号“转义”PHP变量,不会传递给MySQL。使用像这样简单的变量不会有什么不同,但像这样。因此,您在问题中发布的两个查询之间没有任何不同。$name$user['name']


推荐