我的数据库中有两个具有以下结构的表
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'] 是一个数值
最佳答案
“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);
调试此问题的方法是在设置 $qs1 之后、执行查询之前使用 die($qs1);
显示 $qs1 的值。然后你就可以看到问题了。
关于php - PHP 中的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23325996/