多对多加入 Php/mysql
Many to many join Php/mysql
我有两个表 "Personne" 和 "email"。一个人可以有多个邮箱,一个邮箱可以关联几个人:
Personne
+-------------+--------------+
| idPers | int(10) |
| ... | ... |
+-------------+--------------+
email
+-------------+--------------+
| idEmail | int(10) |
| ... | ... |
+-------------+--------------+
然后我在两者之间建立了一座桥梁:
pers_email
+-------------+--------------+
| id | int(10) |
| idPers | int(10) |
| idEmail | int(10) |
+-------------+--------------+
我想获取与一个人关联的所有电子邮件,我一直在使用这段代码:
$q='SELECT *
from AERA.pers_email , AERA.email
join AERA.email e on e.idEmail = pers_mail.idEmail
where pers_email.idPers = '.$idPers;
$query = $linkpdo->prepare($q);
$query->execute();
$email = $query->fetchAll();
但我无法让它工作,它不断抛出各种模糊的错误,例如:
1054 Unknown column 'pers_mail.idEmail' in 'on clause''
谁能告诉我哪里出错了?
谢谢!
你有 pers_mail.idEmail
,你应该有 pers_email.idEmail
并且你应该只进行一次内部连接,你所拥有的将进行交叉连接然后再次连接,这可能会产生不需要的结果。试试这个
$q='SELECT *
from AERA.pers_email
inner join AERA.email e on e.idEmail = pers_email.idEmail
where pers_email.idPers = '.$idPers;
也只是将 $idPers 附加到 sql 可能会使您暴露于 sql 注入。
我有两个表 "Personne" 和 "email"。一个人可以有多个邮箱,一个邮箱可以关联几个人:
Personne
+-------------+--------------+
| idPers | int(10) |
| ... | ... |
+-------------+--------------+
email
+-------------+--------------+
| idEmail | int(10) |
| ... | ... |
+-------------+--------------+
然后我在两者之间建立了一座桥梁:
pers_email
+-------------+--------------+
| id | int(10) |
| idPers | int(10) |
| idEmail | int(10) |
+-------------+--------------+
我想获取与一个人关联的所有电子邮件,我一直在使用这段代码:
$q='SELECT *
from AERA.pers_email , AERA.email
join AERA.email e on e.idEmail = pers_mail.idEmail
where pers_email.idPers = '.$idPers;
$query = $linkpdo->prepare($q);
$query->execute();
$email = $query->fetchAll();
但我无法让它工作,它不断抛出各种模糊的错误,例如:
1054 Unknown column 'pers_mail.idEmail' in 'on clause''
谁能告诉我哪里出错了? 谢谢!
你有 pers_mail.idEmail
,你应该有 pers_email.idEmail
并且你应该只进行一次内部连接,你所拥有的将进行交叉连接然后再次连接,这可能会产生不需要的结果。试试这个
$q='SELECT *
from AERA.pers_email
inner join AERA.email e on e.idEmail = pers_email.idEmail
where pers_email.idPers = '.$idPers;
也只是将 $idPers 附加到 sql 可能会使您暴露于 sql 注入。