内联接和foreach循环在php和mysql上

时间:2018-07-12 04:57:49

标签: php html mysql

我在PHP上遇到foreach循环和内部联接的问题。 我有两个表:碳粉和打印机。和代码:

$toner = $this->_db->execute('SELECT TONERS.NAME, PRINTERS.NAME, TONERS.CONTRACTORS FROM TONERS INNER JOIN PRINTERS ON TONERS.ID_PRINTERS=PRINTERS.ID;')
foreach ($toner as $toners) {
            //here is the html table with results
} 

收到错误:警告:为foreach()提供了无效的参数。 我会在没有'Inner join'的查询中添加所有内容,一切正常...

有人知道吗? 拜托...

2 个答案:

答案 0 :(得分:2)

如果foreach为null,则

$toner会失败。内部联接不返回任何行。您需要逻辑来处理这种情况。有关此错误的更多信息,请参见this question

答案 1 :(得分:0)

首先,尝试在服务器上运行此查询(例如在PHPMyAdmin中),并检查是否有一些记录可填充变量,该记录在foreach循环中使用。此错误表明您的$toner变量为空。

然后尝试从查询中获取数据

$sql = "SELECT TONERS.NAME, PRINTERS.NAME, TONERS.CONTRACTORS FROM TONERS INNER JOIN PRINTERS ON TONERS.ID_PRINTERS=PRINTERS.ID;";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
     //do your magic
}