Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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_Inner Join - Fatal编程技术网

Php 两个表的内部联接[更新]

Php 两个表的内部联接[更新],php,mysql,mysqli,inner-join,Php,Mysql,Mysqli,Inner Join,tbl教师 lrn fname lname email image schedule tbl用户 lrn fname lname email image account-type $id=$\会话['id'] $get_record_sched=mysqli_query($db,“在teacher.lrn=users.lrn其中teacher.lrn='$id''上从教师内部加入用户选择日程安排) 我想根据登录帐户的id响应确切的计划。但通过这个查询,在条件错误的地方没有输出…。他们没有任

tbl教师

lrn
fname
lname
email
image
schedule
tbl用户

lrn
fname
lname
email
image
account-type

$id=$\会话['id']

$get_record_sched=mysqli_query($db,“在teacher.lrn=users.lrn其中teacher.lrn='$id''上从教师内部加入用户选择日程安排)


我想根据登录帐户的id响应确切的计划。但通过这个查询,在条件错误的地方没有输出…

。他们没有任何参数来验证条件。所以像这样更改

"SELECT schedule FROM teacher INNER JOIN users  ON teacher.id = users.id WHERE 1  "

使用与join相同的where条件

"SELECT schedule FROM teacher INNER JOIN users  ON teacher.id = users.id AND teacher.schedule = users.id   WHERE 1  "

如果您在会话中记录了used id,如

$id=$_SESSION['user_id'];

"SELECT schedule FROM teacher INNER JOIN users ON teacher.id = users.id WHERE teacher.schedule='$id' "

您说您从会话中获得了
$id
。假设列
lrn
是ID,则

Select t.schedule
From teacher t
Where t.lrn = $id
无需将表与用户表联接

请注意,建议使用参数绑定

$statement = $connection->prepare("Select t.schedule From teacher t Where t.lrn = ?");
$statement->bind_param("s", $id);

mysqli\u error()
需要连接作为参数。您也从这个查询中获取结果吗?是的,先生,我获取了…我只能获取特定的时间表。您的两个表似乎都不包含ID列。另外,如果教师表中已经存在SCHEDULE列,那么为什么还要加入呢?@anne you的可能重复项在WHERE部分重复加入条件,这是不必要的。相反,您可能希望将用户提供的id以参数的形式放置在那里:WHERE users.lrn=$idFromUseryou是对的。如果我格式化了我的代码,他们的回答是非常日志。现在不必了最后一个代码不工作,我有$id=$\u SESSION['id'];我尝试了你所说的,但仍然没有显示确切的日程安排你在
$id=$\u session['id']
session\u start()之前调用了
session\u start()
吗;如果(isset($\u SESSION[“id”]){$id=$\u SESSION[“id”];确定做一件事
echo“从教师内部选择计划在teacher.id=users.id上加入用户,其中teacher.schedule='$id'”;退出();
使用phpmyadmin将粘贴复制到。并告诉您是否有任何错误。此答案将其分解为要点!使用更详细的准备语句,这通常应该是常见的做法。