1
私は1つの問題に直面しました。私はコードを持っています:mysqlクエリの問題、値を表示する方法
<?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);
}
}
主なことは、このコードがデバイスグループと同じ "文字列"を持っていることです。そしてそれは大丈夫です。しかし、どのグループに属しているデバイスで、すべてのグループを個別に印刷することができますか?または、同じ文字列を持つデバイスでグループを1つでも印刷する方法は? "誰かが何か提案やスムージングをすることができますか? :) どうもありがとうございます。
私の英語、男性のため申し訳ありません;)
'$ row'は、クエリによって返されたすべての値を含む配列です。だからあなたのループのようなもの:echo "$ row [groupId]、$ row [groupName]" \ n; – user3741598
Kurtはこれを最初に修正しました:$ qid = $ mysqli-> query($ sql); $ row-> groupId、$ row-> groupName、$ row-> device_idにはdbの値が入っています –
@ user3741598あなたの方法はfetch_assoc関数で動作しますが、Skylukはfetch_object関数を使用します –