PHP中的SQL查询

PHP中的SQL查询,php,mysql,xampp,Php,Mysql,Xampp,我的数据库中有两个具有以下结构的表 1.ps_分行 列:ps_代码a1 a2 a3 a4 a5 a6 a7 2.学生信息 列:std_名称std_cg st_代码 我正在使用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

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

1.ps_分行

列:ps_代码a1 a2 a3 a4 a5 a6 a7

2.学生信息

列:std_名称std_cg st_代码

我正在使用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)
 )
$\u POST['branch']将给出一个值a1 a2…或a7
$\u POST['Cgpa']是一个数值

您需要在'AND'周围加上一个空格

$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);

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

您可以查看生成的错误。。。但是在和和之间$\u POST。。。您需要一个空格“并且”您的代码容易受到SQL注入的攻击。你应该继续读下去。谢谢你的模具($qs1)提示…非常有用!