Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 什么';这是'之间的区别;及;在sql中_Php_Mysql_Sql - Fatal编程技术网

Php 什么';这是'之间的区别;及;在sql中

Php 什么';这是'之间的区别;及;在sql中,php,mysql,sql,Php,Mysql,Sql,我已经看到了不同的方法如何使用它,但我不明白为什么 说一句简单的SQL $q = "UPDATE table SET col1 = '$var1', col2 = '$var2' "; 所以这是一种方法 $q = "UPDATE table SET `col1` = $var1, `col2` = $var2 "; 这也是一样的,但是为什么要使用` 然后: $q = "UPDATE table SET 'col1' = $var1, 'col2' = $var2 "; 那么什么是正确

我已经看到了不同的方法如何使用它,但我不明白为什么

说一句简单的SQL

$q = "UPDATE table SET
col1 = '$var1',
col2 = '$var2'
 ";
所以这是一种方法

$q = "UPDATE table SET
`col1` = $var1,
`col2` = $var2
 ";
这也是一样的,但是为什么要使用`

然后:

$q = "UPDATE table SET
'col1' = $var1,
'col2' = $var2
 ";
那么什么是正确的使用方法,什么时候使用,为什么。。。 然后我看到了:

$q = "UPDATE table SET
col1 = ".$var1.",
col2 = ".$var2";

感谢您抽出时间。

背景标记
`
用于保留字或列名,而普通的单引号
'
用于封装字符串

您可以在此处阅读详细信息:


编辑:如前所述,这仅适用于MySQL。不同的数据库引擎使用不同的方法来封装表、解决方案或保留字。

当您的列被称为
“date”
时会发生什么?Mysql将不知道您是否使用了错误的函数,或者您是指名为
date

应该经常使用它来让mysql知道您在使用列,而不是让它做猜测工作

第二个问题,没有区别。但您不应该像这样构建查询,而是查看准备好的语句


在MySQL中,如果您的问题是关于MySQL的,MSSQL使用[]和Postgres“”在您的问题中添加
MySQL
标记