Accessing an array

Im getting an undefined array key
at

<?=$sums['drawings_sum']?>

but

<?php
try{
	$sql = 'SELECT COUNT(assets.asset_id) AS assets_sum,COUNT(racks.rack_id) AS racks_sum,COUNT(buildings.building_id) AS builings_sum,COUNT(rooms.room_id) AS rooms_sum,COUNT(drawings.drawing_id) AS drawings_sum
			FROM assets
			RIGHT JOIN materials ON assets.material_id = materials.material_id                 
			RIGHT JOIN projects ON assets.project_id = projects.project_id                 
			RIGHT JOIN drawings ON projects.project_id = drawings.project_id                 
			RIGHT JOIN racks ON assets.rack_id = racks.rack_id                 
			RIGHT JOIN rooms ON racks.room_id = rooms.room_id                 
			RIGHT JOIN buildings ON rooms.building_id = buildings.building_id                 
			RIGHT JOIN sites ON projects.site_id = sites.site_id     
			WHERE assets.project_id = '.$project['project_id'];
			
	$result = $pdo->query($sql);

	echo $sql;

	$sums = $result->fetchAll();
	
	print_r($sums);

	} catch(PDOException $e){
		die("ERROR: Could not able to execute $sql. " . $e->getMessage());
	}	
?>	

produces

SELECT COUNT(assets.asset_id) AS assets_sum,COUNT(racks.rack_id) AS racks_sum,COUNT(buildings.building_id) AS builings_sum,COUNT(rooms.room_id) AS rooms_sum,COUNT(drawings.drawing_id) AS drawings_sum
			FROM assets
			RIGHT JOIN materials ON assets.material_id = materials.material_id                 
			RIGHT JOIN projects ON assets.project_id = projects.project_id                 
			RIGHT JOIN drawings ON projects.project_id = drawings.project_id                 
			RIGHT JOIN racks ON assets.rack_id = racks.rack_id                 
			RIGHT JOIN rooms ON racks.room_id = rooms.room_id                 
			RIGHT JOIN buildings ON rooms.building_id = buildings.building_id                 
			RIGHT JOIN sites ON projects.site_id = sites.site_id     
			WHERE assets.project_id = 1Array
(
    [0] => Array
        (
            [assets_sum] => 0
            [racks_sum] => 0
            [builings_sum] => 0
            [rooms_sum] => 0
            [drawings_sum] => 0
        )

)               

so the query works, the array exists so the key should be 0?

fetchAll returns an array of rows. so your value is at [0][“drawings_sum”].

If you’re pulling a single row, you probably want to fetch rather than fetchAll.

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.