不知道如何用php连接两个mariadb表以显示

oknrviil  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(252)

我想加入设施和检查,以便它显示分数和一些其他信息旁边的设施的名称,地址和电话号码。我想我的外键设置正确,但我的教授没有帮我确认这一点。以下是我的sql表:

CREATE TABLE FACILITY(
County           VARCHAR(45)    NOT NULL    ,
Phone_Number           VARCHAR(12)  NOT NULL    ,
Name            VARCHAR(45) NOT NULL    ,
Address     VARCHAR(50) NOT NULL    ,
ID        VARCHAR(5) NOT NULL   ,
UNIQUE(ID),
PRIMARY KEY(Address));

CREATE TABLE INSPECTION(
Inspection_date DATE            NOT NULL    ,
Score           INT         NOT NULL    ,
Facility_ID VARCHAR(5) NOT NULL ,
Inspector_ID        VARCHAR(9)             NOT NULL ,
Inspection_ID       CHAR(9)     NOT NULL    ,
UNIQUE(Facility_ID),
PRIMARY KEY(Inspection_ID));

ALTER TABLE INSPECTION
  ADD CONSTRAINT FOREIGN KEY(Facility_ID) REFERENCES FACILITY(ID);

下面是我用来尝试加入他们的php代码行

$query = mysqli_query($dbconnect, "SELECT * FROM FACILITY JOIN INSPECTION USING(Facility_ID)")
   or die (mysqli_error($dbconnect));

我得到的错误是:

Unknown column 'Facility_ID' in 'from clause'

谢谢你的帮助,我打赌解决方案是非常简单的,我只是有很少的sql和php的经验。

kqlmhetl

kqlmhetl1#

你只能加入 USING 如果两个表中的列名相同。它们不是,因为它叫 ID 在你的 FACILITY table。
在这种情况下,您需要使用 ON 欢迎加入:

SELECT * FROM FACILITY JOIN INSPECTION ON INSPECTION.Facility_ID = FACILITY.ID

相关问题