У меня есть этот код, и я не могу найти ошибку.mysql Join производит ошибку
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;
}
без регистрации я получаю результат с РЕГИСТРИРУЙТЕСЬ Я получил эти сообщения, но я не знаю, почему: Вызов функции члена bind_param() на не-объект
Thx для чтения.
Вы получаете это сообщение, потому что 'prepare' терпит неудачу, возвращая' FALSE'. Нет FALSE-> bind_param'. Он терпит неудачу, поскольку SQL недействителен. Я предполагаю, что вам нужно пространство между '' rechnung'' и 'AS'. –
Любая вероятность того, что поле 'owner' находится в обеих таблицах? Возможно, ему просто нужно дать псевдоним? – sgeddes
Ваш запрос действителен, если вы попытаетесь выполнить его в PHPmyAdmin? Вы должны проверить, что $ _SESSION ['UID'] действителен – sdespont