ciao dici con un'if empty?

per ora ho scritto cosi e poi nel db ho il campo che si chiama level_access perché il db lo scritto tutto in inglese.
ti posto il codice:

il count
codice:
if(empty($ruolo))
	{
	
	$total = $db->query('
        SELECT
            COUNT(*)
        FROM
            users')->fetchColumn();
	}
	else
	{
		
	$total = $db->query("
        SELECT
            COUNT(*)
        FROM
            users WHERE level_access='".$ruolo."'")->fetchColumn();
	
	}
il where:


codice:
 if(empty($ruolo))	{
	
		$stmt = $db->prepare('
			SELECT
				*
			FROM
				users
		
			ORDER BY
				date_reg
			LIMIT
				:limit
			OFFSET
				:offset
		');


    // Bind the query params


    $stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
    $stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
	
	}else
	{
		$stmt = $db->prepare('
			SELECT
				*
			FROM
				users
			WHERE level_access=:level_access 
			ORDER BY
				date_reg
			LIMIT
				:limit
			OFFSET
				:offset
		');


		// Bind the query params
		$stmt->bindParam(':level_access', $ruolo, PDO::PARAM_INT);
		$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
		$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
    
	}
    $stmt->execute();
Mi da errore quando digito :
http://localhost/pdo/admin/users.php?ruolo=2

ma essendo che non c'è nessun utente con ruolo 2 mi segnala:
codice:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 11
come posso fare?