Hilfsschüler: Verständnisfrage includierte Klasse

Beitrag lesen

tag,

kurz und schmerzlos, warum funktioniert das hier einwandfrei:

  
<?php  
  
include(ROOT_PATH.'config.php');  
include(ROOT_PATH.'includes/db_mysql.php');  
include(ROOT_PATH.'includes/constants.php');  
  
$site_db = new Db($db_host, $db_user, $db_password, $db_name);  
  
$sql = "SELECT COUNT(*) as total_images  
        FROM ".IMAGES_TABLE." a, ".CATEGORIES_TABLE." b  
        WHERE a.image_active=1  
        AND a.cat_id = b.cat_id  
        AND b.auth_viewcat=".AUTH_ALL."  
        AND b.auth_viewimage=".AUTH_ALL."  
        ";  
$row = $site_db->query_firstrow($sql);  
  
[restcodegelöscht]  
?>  

$row wird wie erwartet mit Daten gefüllt und steht zur weiteren Verarbeitung zur Verfügung, während

  
<?php  
  
include(ROOT_PATH.'config.php');  
include(ROOT_PATH.'includes/db_mysql.php');  
include(ROOT_PATH.'includes/constants.php');  
  
$site_db = new Db($db_host, $db_user, $db_password, $db_name);  
  
$sql = "SELECT COUNT(*) as total_images  
        FROM ".IMAGES_TABLE." a, ".CATEGORIES_TABLE." b  
        WHERE a.image_active=1  
        AND a.cat_id = b.cat_id  
        AND b.auth_viewcat=".AUTH_ALL."  
        AND b.auth_viewimage=".AUTH_ALL."  
        ";  
  
function abfrage($sql) {  
 $row = $site_db->query_firstrow($sql);  
 return $row;  
}  
  
print_r(abfrage($sql));  
  
[restcodegelöscht]  
?>  

$row wird nicht mit Daten gefüllt, da das Script mit einem Fatal Error abgebrochen wird, mit dem ich jedoch gar nichts anfangen kann.

Kann mir das bitte jemand möglichst verständlich erklären, warum das so ist? Danke sehr.

LG