我想进行这个查询
$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中的单引号字符串和双引号字符串有什么区别?