从第二个MySQL表中获取信息

时间:2015-10-28 15:11:53

标签: php mysql sql loops

在我的代码中,我想使用我在代码utf8_encode($row_Bereich2->name)中看到的title属性。现在$ title没有返回任何东西,但它应该从数据库返回一个值。标题值存储在另一个MySQL表(product_titles)中。

我的目标是从“产品”表中获取“名称”列的字段值。如果该字段的值与if(!$result = $db->query("SELECT name FROM produkteguide_kategorien_alle_bereiche WHERE bereich = 2")){ die('Error'); } while($row_Bereich2 = $result->fetch_object()){ $Select_Bereich2 .= '<input type="checkbox" id="'. utf8_encode($row_Bereich2->name) .'"><label for="'. utf8_encode($row_Bereich2->name) .'">'. utf8_encode($row_Bereich2->name) .'</label> <div title="'. $title .'" class="info_box">i</div><br>'; } 相同,则应返回“product_title”列的字段值。

data Restaurant = Restaurant [(String, String, Int)] deriving (Eq,Show)

我该怎么做?

2 个答案:

答案 0 :(得分:2)

LEFT JOIN是您正在寻找的。

SELECT kat.name, prod.product_title
FROM produkteguide_kategorien_alle_bereiche kat
    LEFT JOIN products prod ON (kat.name = prod.name)
    WHERE ...

答案 1 :(得分:0)

我想你正在使用PDO(我希望如此,否则,请使用它)。

好吧,在您的连接字符串中,当您使用PDO连接到数据库时,您应该确定您使用的是utf-8:

mysql:host=$host;dbname=$db;charset=utf8

通过这样做,你将能够避免这种事情:

utf8_encode($row_Bereich2->name)

要直接从数据库中获取错误,您可以查看here