【问题标题】:mysql query problems, How to display valuesmysql查询问题,如何显示值
【发布时间】:2016-07-11 01:50:18
【问题描述】:

我遇到了一个问题。我有一个代码:

<?php

$mysqli = new mysqli('localhost', 'test', 'test123', 'testdb');


$sql = "
        SELECT g.id as groupId, g.name as groupName, d.device_id
        FROM librenms.devices as d
        INNER JOIN librenms.device_groups as g
                ON d.hostname LIKE  CONCAT('%', mysql.SPLIT_STR(g.pattern, '\"', 2), '%')
        WHERE g.pattern LIKE '_devices.hostname%'
        ORDER BY g.id
";


$qid = $mysqli->query($qry);

if($qid->num_rows == 0){
        die("no results from MySQL\n");
}else{
        while($row = $qid->fetch_object()){     // each row
                var_dump($row);
        }
}

主要是这段代码在数据库中查找设备与设备组具有相同的“字符串”。没关系。但是如何使用属于该组的设备分别打印所有组?或者我如何使用在“”之间具有相同字符串的设备打印一组。?谁能给点建议或smthng?

【问题讨论】:

  • '$row' 是一个包含查询返回的所有值的数组。所以在你的循环中是这样的: echo "$row[groupId], $row[groupName]"\n;
  • 库尔特首先解决了这个问题:$qid = $mysqli->query($sql);然后 $row->groupId, $row->groupName, $row->device_id 包含来自 db 的值
  • @user3741598 你的方式适用于 fetch_assoc 函数,但 Skyluk 使用 fetch_object 函数

标签: php mysql sql database mysqli


【解决方案1】:

$qid = $mysqli-&gt;query($qry); 应该是$qid = $mysqli-&gt;query($sql);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-01
    • 2016-01-26
    • 2020-08-04
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多