Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中获取和比较数据_Php_Mysql_Mysqli - Fatal编程技术网

在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“未注册”;
}

如果您的问题不太清楚,请提供警告:您完全可以使用参数化准备语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。你有一个错误。需要一个论点。请考虑切换错误模式。