php - 如何从数据库中的三个表中同时获取数据
问题描述
我想从我的数据库中的三个表中获取数据并将它们显示在网页上。发现了很多类似的问题,但没有一个对我有帮助。这里我的php代码是
<?php
session_start();
include('database.php');
$sql = "SELECT * FROM class8,class9,class10 WHERE teacher_id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $_SESSION['teacher_id']);
$result = $stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_OBJ)) {
var_dump($row);
}
?>
从这段代码中我试图获取但它给出了这样的错误
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'teacher_id' in where clause is ambiguous in C:\xampp\htdocs\kridha\prospectcorse.php:10 Stack trace: #0 C:\xampp\htdocs\kridha\prospectcorse.php(10): PDOStatement->execute() #1 {main} thrown in C:\xampp\htdocs\kridha\prospectcorse.php on line 10
怎么做..??/
解决方案
您需要连接表,并在引用多个表中存在的列时指定表名。
SELECT *
FROM class8
JOIN class9 ON class8.teacher_id = class9.teacher_id
JOIN class10 ON class8.teacher_id = class10.teacher_id
WHERE class8.teacher_id = :id
推荐阅读
- python - 未找到任何参数的“出价”反向。尝试了 1 种模式:['dasboard/orders/add/(?P
[0-9]+)$'] - maven - 使用 mvn exec:java 运行时的 ClassNotFoundExeption
- php - 忽略 MySQL 查询中的空“$_POST”值
- c++ - 无法打开包含文件:“Windows.h”:没有这样的文件或目录
- amazon-web-services - 生成 AWS s3 Presigned URL 时出现超时错误
- ios - Xcode 12 Apple Watch 调试周期
- elasticsearch - 在 SIEM 中使用 logstash 索引
- xamarin - 关于在 XF 5 -pre 5 中使用 Xamarin.CommunityToolkit 时如何实现 Xamarin.Forms.Markup 可用的 .Bind 扩展的任何想法
- reactjs - 组件正在更改不受控制的输入以在 localhost 上进行控制?
- python - 用python控制外部程序