Php 如何在postgresql中选择特定列

Php 如何在postgresql中选择特定列,php,postgresql,Php,Postgresql,这是我对选择名为“课程”的列的查询: $query = "SELECT course from surprise WHERE diff_lvl = "'.$level.'" AND tot_days = "'.$time_day'" AND tot_time = "'.$time_tot.'" "; \\(it is basically single quote inside a double quotes) 但我得到的错误是: 语法错误,中出现意外的“.$level.”(

这是我对选择名为“课程”的列的查询:

$query = "SELECT course from surprise WHERE diff_lvl = "'.$level.'" AND
          tot_days = "'.$time_day'" AND tot_time = "'.$time_tot.'" "; \\(it is basically single quote inside a double quotes)
但我得到的错误是:

语法错误,中出现意外的“.$level.”(T_常量_封装的_字符串) C:\xampp\htdocs\Test\sup_logic.php

我该怎么做才能修好它

有没有办法写一个查询来获取课程列的值?

试试这个查询

$query = "SELECT course from surprise WHERE diff_lvl = '$level' AND tot_days = '$time_day' AND tot_time = '$time_tot'";
在使用双引号进行查询时,您也可以像这样使用单引号,或者如果您喜欢使用的方式,可以替换下面的单引号

$query = "SELECT course from surprise WHERE diff_lvl = '".$level."' AND tot_days = '".$time_day."' AND tot_time = '".$time_tot."'";

注意单引号和双引号的变化

您的引号是相反的。您打开了一个双引号字符串
“SELECT…”
,因此将单引号(这是
diff\u lvl
值语法的一部分)移动到双引号中。对于
$time\u tot
,看起来也一样--
其中diff_lvl='“$level.”…
这似乎可以通过使用准备好的语句而不是串联变量来缓解。但也请参阅一些示例,以了解SQL中包含类似变量的字符串可以表示为什么。如何打印得到的$query值?我尝试使用echo作为,echo“我的值是$query”;但它不是印刷品。有什么建议吗?你是说打印查询结果?