在php中获取和比较数据
在我的程序中,我想从不同的表中获取数据库中的数据并相互比较,但它只显示注册的字符串不相等在php中获取和比较数据,php,mysql,mysqli,Php,Mysql,Mysqli,在我的程序中,我想从不同的表中获取数据库中的数据并相互比较,但它只显示注册的字符串不相等 <?php $id = $_SESSION["teacher_id"]; $sql1 = "SELECT sem FROM students_data where mentor='$id'"; $sql2 = "SELECT sem FROM teacher where teacher_id='$id'"; ($result1 = mysql
<?php
$id = $_SESSION["teacher_id"];
$sql1 = "SELECT sem FROM students_data where mentor='$id'";
$sql2 = "SELECT sem FROM teacher where teacher_id='$id'";
($result1 = mysqli_query($db, $sql1)) or die(mysqli_error());
($result2 = mysqli_query($db, $sql2)) or die(mysqli_error());
if ($result1 == $result2) {
echo "Registered";
} else {
echo "Not Registered";
}
?>
您可以使用单个查询来比较这两个表。此查询将选择学生数据
中的所有条目,如果名称与教师
中的名称不同,则“不同”将为1,否则为0:
SELECT
students_data.sem,
IF(students_data.sem != teacher.sem, 1, 0) AS is_different
FROM
students_data
LEFT JOIN
teacher
ON
teacher.teacher_id = students_data.mentor
然后,您可以获得查询结果并在if语句中使用它:
$arr=mysqli\u fetch\u assoc($result)
如果($arr['is_different']==1){
回声“已注册”;}
否则{
echo“未注册”;
}
如果您的问题不太清楚,请提供警告:您完全可以使用参数化准备语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。你有一个错误。需要一个论点。请考虑切换错误模式。