此查询的语法有问题吗?我正在使用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。我只想向用户显示有关允许其使用的工业设备的信息。
答案 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
}