mysql Join产生错误

时间:2014-09-20 19:45:19

标签: php mysql mysqli

我有这个代码,我找不到错误。

public  function show(){

$x=NULL;
$owner = $_SESSION['UID'];
$sql = "SELECT 
kunde.name AS n1, 
rechnung.RechNR AS rnr 
FROM  `rechnung`AS  rr
INNER JOIN  `kunde`
ON rr.KID = kunde.KID
WHERE owner = ? ";
$stmt = $this->mysqli->prepare($sql);
$stmt->bind_param("i", $owner);
$stmt->execute();
$result = $stmt->get_result();
while ($obj = $result->fetch_object()) {
 $x[] = $obj;
}

return $x;

}

没有加入我得到JOIN的结果我得到了这些消息但我不知道为什么:在非对象上调用成员函数bind_param()

阅读的Thx。

1 个答案:

答案 0 :(得分:3)

您必须重写SQL语句并使用字段RechNr的别名。 而不是rechnung.RechNR您必须改为使用rr.RechNr

$sql = "SELECT 
kunde.name AS n1, 
rr.RechNR AS rnr 
FROM  `rechnung` AS  rr
INNER JOIN  `kunde`
ON rr.KID = kunde.KID
WHERE owner = ? ";

因为您没有使用别名,所以语句的准备工作失败了。