[英]SELECT COUNT(a.id) AS id… => Result array is empty! [PHP, MySQL]
我從昨天起就遇到了一些PHP問題,瀏覽網頁並感到愚蠢的感覺我錯過了一些重要的東西。
通常使用mysql_fetch_object
,嘗試使用mysql_fetch_array
(但沒有幫助)。 這是代碼的一部分讓我頭疼:
public static function get_datacenter_by_id($id) {
$result = mysql_query("SELECT COUNT(rack.id) AS Racks, COUNT(device.id) AS Devices, COUNT(card.id) AS Cards, COUNT(port.id) AS Ports
FROM datacenter, rack, device, card, port, location, building
WHERE location.id = building.location_id AND
building.id = datacenter.building_id AND
datacenter.id = '.$id.' AND
rack.id = device.rack_id AND
device.id = card.device_id AND
(card.id = port.card_id1 OR
card.id = port.card_id2)") or die ("Error in query: ".mysql_error());
$array = array();
while($row = mysql_fetch_object($result)) {
$array[] = array($row->Racks, $row->Devices, $row->Cards, $row->Ports);
}
return $array;
}
$ array用於另一個.php文件,但是使用print_r $array
已經向您顯示該數組保持為empty (0)
。 我很確定錯誤出現在這段代碼中,可能“ COUNT (x) AS y
”有問題嗎?
PS:MySQL Query工作,之前通過Workbench測試過。 我很欣賞一些好的adivce! :-)
祝你今天愉快!
而不是像這樣使用它
while($row = mysql_fetch_object($result)) {
$array[] = array($row->Racks, $row->Devices, $row->Cards, $row->Ports);
}
你應該做這個
$row = mysql_fetch_object($result)
$array[] = $row->Racks;
$array[] = $row->Devices;
$array[] = $row->Cards;
因為您正在獲取1條記錄並在使用它時導致問題
這不是簡單的:
$result = mysql_query("SELECT COUNT(rack.id) AS Racks, COUNT(device.id) AS Devices, COUNT(card.id) AS Cards, COUNT(port.id) AS Ports
FROM datacenter, rack, device, card, port, location, building
WHERE location.id = building.location_id AND
building.id = datacenter.building_id AND
datacenter.id = '" . $id . "' AND
rack.id = device.rack_id AND
device.id = card.device_id AND
(card.id = port.card_id1 OR
card.id = port.card_id2)") or die ("Error in query: ".mysql_error());
請注意'。$ id。'的修改。 to'“。$ id。”'。 您的查詢正在查找數據中心ID“。$ id。”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.