如何在PHP中删除SQL查询变量的双引号


How to delete double quotes of a variable to SQL query in PHP

我想进行这个查询

$month = 'january'; //name of the column
$year = 2015;
$sql_query = 'SELECT "'.$month.'" FROM tbl_inpc WHERE year = "'.$year.'"';

当我打印$sql_query时,它显示:

SELECT "january" FROM tbl_inp WHERE year = "2015" 

在"双引号之间,它不起作用,应该是这样的

SELECT january FROM tbl_inp WHERE year = 2015

也许这可能是一些简单而愚蠢的事情,但我的思维被阻塞了,是什么想法,还是我做错了什么?谢谢

在php中,您可以在不退出字符串的情况下使用双引号中的变量,然后只需用反斜杠转义引号:

$sql_query = "SELECT '"$month'" FROM tbl_inpc WHERE year = $year";

如果你想格外谨慎,你也可以把你的变量放在花括号里,以确保它被正确评估,如果你有一个数组变量,其中你使用了一个键,这是特别有用的:

$sql_query = "SELECT '"{$month[3]}'" FROM tbl_inpc WHERE year = {$year}";

如果你想保留原来的东西,你所需要做的就是去掉一年中的双引号:

$sql_query = 'SELECT "'.$month.'" FROM tbl_inpc WHERE year = '.$year;

后期注释:

OP希望从$year$month中删除引号。我的示例具体演示了如何从$year周围删除引号。$month也可以采用相同的方法,但示例显示了如何在每种情况下都将变量保持在引号内和引号外

使用其中之一:

$sql_query = 'SELECT '.$month.' FROM tbl_inpc WHERE year = '.$year;

在替换变量的查询部分周围没有双引号,或者:

$sql_query = "SELECT $month FROM tbl_inpc WHERE year = $year";

请注意,这在整个字符串周围使用双引号,因为变量不会被单引号取代。

有关更多详细信息,请参阅

何时在MySQL 中使用单引号、双引号和反引号

PHP中的单引号字符串和双引号字符串有什么区别?