在mysql + PDO中使用name而不是id

时间:2013-06-30 17:33:24

标签: mysql pdo relation

我在我的数据库中有这个结构,请在这里查看小提琴:http://sqlfiddle.com/#!2/a8354/1

我在列pais,departamento和ciudad中有问题,在小提琴中告诉我很好的关系,但在我的页面中没有...我真的尝试了很多形式..但总是向我展示每个人的第一个选项桌子......不像小提琴那样效果很好! (在小提琴中不能插入每个表的所有名称和id,但对于我认为的例子就足够了)

你能帮我解决一下吗?我在我的页面中有这个代码:

<?
$query = "SELECT P.IDPAIS, lp.opcion,
(SELECT opcion FROM lista_paises WHERE id = IDPAIS)
AS opcion
FROM PACIENTES P
INNER JOIN lista_paises lp
ON  P.IDPAIS = lp.id";
$stmt = $conn->prepare($query);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$opcion = $row['opcion'];
?>

并在每个用户的页面中显示名称:

Departamento : <b> <? echo $opcion1; ?> </b> | Municipio/Ciudad : <b><? echo $opcion2; ?> </b> | Pa&iacute;s : <b> <? echo $opcion; ?></b>

你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您的PHP示例只会从查询中返回一个值。

$row = $stmt->fetch(PDO::FETCH_ASSOC);

如果您想要所有结果,请使用如下语句:

$rows = $stmt->fetchAll();
foreach( $rows as $row )
{
    ... do something with $row
}