何时在 MySQL/PHP 中使用单引号、双引号和反引号?
大家好!我刚开始学习 PHP 和 MySQL,对引号一直很困惑。似乎有单引号(')、双引号(")和反引号(`)。我不明白什么时候该用哪种,而且经常出错。
例如,这是我的代码:
```php
$name = "Иван";
$query = "SELECT * FROM users WHERE name = '$name'";
```
这能运行。但如果我这样写:
```php
$query = 'SELECT * FROM users WHERE name = "$name"';
```
那么变量不会被替换。而如果我使用反引号:
```php
$query = "SELECT * FROM `users` WHERE `name` = 'Иван'";
```
也能运行,但我不明白它们有什么用。
我还看到有些人用双引号来括表名和列名:
```php
$query = "SELECT * FROM \"users\" WHERE \"name\" = 'Иван'";
```
这合法吗?如果表名中有连字符或保留字,比如 ORDER,该怎么办?我遇到过这种表的错误。
请用简单的话解释一下。