Tek bir sorunla karşılaştım. Bir prensibi vardır:mysql sorgu problemleri, Değerler nasıl görüntülenir?
<?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);
}
}
Ana şey veritabanı cadı bu kod bulmak cihazlar devicegroups aynı "dizesini" olması. Ve tamam. Ancak tüm grupları, o gruba ait olan cihazlarla nasıl ayrı ayrı yazdırabilirim? Ya da bir grubu "" ile aynı dizeye sahip olan cihazlarla nasıl yazdırabilirim. Herhangi bir öneri veya smthng verebilir misiniz? :) çok teşekkür ederim.) Yorum yapamam ama $qid = $mysqli->query($qry);
$qid = $mysqli->query($sql
olmalıdır
'$ row', sorgunuz tarafından döndürülen tüm değerleri içeren bir dizidir. Yani senin döngüsünde şöyle bir şey var: echo "$ row [groupId], $ row [groupName]" \ n; – user3741598
Kurt wrore bu sorunu düzeltmek için: $ qid = $ mysqli-> query ($ sql); daha sonra $ row-> groupId, $ row-> groupName, $ row-> device_id, db –
@ user3741598 değerlerini içerir, yolunuz fetch_assoc işleviyle çalışır, ancak Skyluk fetch_object işlevini kullanır –