PHP MySQLi从外键获取列

时间:2016-08-21 14:39:32

标签: php mysql

我有以下表格:

'auktionen'

id|uid|typ(FK)|min|max|menge|...


'typen'

id|typ
1|Hack
2|Schredder

typ中的typen只是一个文字表示,我希望得到。

$prep_stmt = "SELECT anzeigentyp, typ, holzart,
qualitaet, rinde, min, max, menge FROM auktionen WHERE uid = ?";

$stmt = $mysqli->prepare($prep_stmt);
$stmt->bind_param('i', $user_id);
$stmt->execute();
$stmt->bind_result($anzeigentyp, $typ, $holzart, $qualitaet, $rinde, $min, $max, $menge);
$stmt->store_result();

因此,在获取我的所有结果时,我想得到" Hack"而不是引用id(如果它是1)。我想它需要一些JOIN才能实现,我尝试了这样就没有成功:

$prep_stmt = "SELECT anzeigentyp, typen.typ, holzart,
qualitaet, rinde, min, max, menge FROM auktionen WHERE uid = ? 
JOIN typen ON auktionen.typ = typen.typ";

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您必须将where子句移到最后并加入相应的列typen.idauktionen.typ

select a.anzeigentyp, t.typ, a.holzart, a.qualitaet, a.rinde, a.`min`, a.`max`, a.menge
from auktionen a
join typen t on t.id = a.typ
where ...