【问题标题】:INNER JOIN and foreach loop on php and mysqlphp和mysql上的INNER JOIN和foreach循环
【发布时间】:2018-07-12 15:19:48
【问题描述】:

我在 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() 提供的参数无效。 我将在没有“内部联接”的情况下将其添加到查询中,一切正常...

有人有想法吗? 请...

【问题讨论】:

  • 显然,查询返回小于或等于一行

标签: php html mysql


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    首先,尝试在服务器上运行此查询(例如在 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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      • 2012-09-10
      相关资源
      最近更新 更多