我的数据库中有两个具有以下结构的表

1.ps_branch

栏:ps_code a1 a2 a3 a4 a5 a6 a7

2.students_info

栏:std_name std_cg st_code

我正在使用xampp服务器。

我在php中写了一个查询:

$qs1="select * from station_details where st_code IN
(
( select DISTINCT st_code FROM students_info , ps_branch WHERE ps_code=st_code AND    std_cg >".$_POST['Cgpa'].
      "AND".$_POST['branch']."=".'1'."))";
$query1=mysqli_query($con1,$qs1);


但是查询显示给我错误。
当我直接在phpmyadmin mysql中查询以下内容时,得到所需的答案

select * from station_details where st_code IN
(
( select DISTINCT st_code FROM students_info , ps_branch WHERE ps_code=st_code AND  std_cg>6
      AND a7=1)
 )


$ _POST ['branch']将给出值a1 a2 ...或a7之一
$ _POST ['Cgpa']是一个数值

最佳答案

您需要在“与”周围加上多余的空格

$qs1="select * from station_details where st_code IN
(
( select DISTINCT st_code FROM students_info , ps_branch WHERE ps_code=st_code AND std_cg >".$_POST['Cgpa'].
      " AND ".$_POST['branch']."=".'1'."))";
$query1=mysqli_query($con1,$qs1);


调试它的方法是在设置$ qs1之后和执行查询之前,通过使用die($qs1);显示$ qs1的值。然后您可以看到问题所在。

10-06 06:00