我从数据库中选择数据的查询遇到致命错误,可能是语法问题

时间:2018-10-18 11:20:02

标签: php sql syntax

此查询的语法有问题吗?我正在使用mysql和PHP。

$stmt = $conn->query("SELECT denominazione 
                        FROM tab02_impianti 
                        WHERE tab02_impianti.cod_impianto = tab05_workgroup.cod_impianto 
                        AND tab05_workgroup.cod_utente = tab01_utenti.cod_utente ");

因为出现错误:

  

致命错误:未捕获的错误:在布尔值中调用成员函数fetch()在...中

由于WHERE语句而显示错误。没有它就可以工作,但是我得到了表的所有数据。所以这部分:“从tab02_impianti中选择denominazione”应该可以。

我想不通,请问可以帮忙吗?非常感谢:)

让我写点更多的东西: 我有用户表(tab01)和工业设备(tab02)。每个用户都可以与更多的安装相关,反之亦然。 tab05工作组包含两者的ID。我只想向用户显示有关允许其使用的工业设备的信息。

1 个答案:

答案 0 :(得分:0)

您收到的错误是由fetch()函数引起的,因为您的query()函数返回false。

错误的布尔值返回到您的query()函数中,因为该函数某处存在错误。为了帮助您调试查询,您可以检查错误情况:

$stmt = $conn->query("SELECT denominazione FROM tab02_impianti WHERE tab02_impianti.cod_impianto = tab05_workgroup.cod_impianto AND tab05_workgroup.cod_utente = tab01_utenti.cod_utente ");

//error case
if(!$stmt)
{
  die("Execute query error, because: ". print_r($conn->errorInfo(),true) );
}
//success case
else{
     //continue flow
}