我想从mySQL数据库连接两个不同表的数据。这运作良好,但我有一个小问题:
$sql = "SELECT * FROM person h LEFT JOIN animals o ON ( o.name = h.name);" ;
表person
:
| id | name | age |
|----|------|-----|
| 1 | fred | 9 |
| 2 | tom | 8 |
| 3 | kim | 6 |
表animals
:
| id | name | animal |
|----|------|--------|
| a | fred | cat |
| b | tom | frog |
| c | kim | dog |
所以对于这个循环...
foreach ($pdo->query($sql) as $row) {
echo "$row['id']";
echo "$row['animal']";
}
...我得到的结果是:
| a | cat |
| b | frog |
| c | dog |
但是我实际需要的结果是
| 1 | cat |
| 2 | frog |
| 3 | dog |
所以,我需要从连接的数据animals
,但仍保留id
的person
。
您需要从person
not获取id字段animals
。
获取单独的ID field
。
$sql = "SELECT *, h.id as pid FROM person h
LEFT JOIN animals o ON o.name = h.name";
PHP的变化:
foreach ($pdo->query($sql) as $row) {
echo $row['pid'];
echo $row['animal'];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句