Funções, SQL Connects e Global Variable

Há algo errado em conectar e fechar um banco de dados chamando a função abaixo com os comandos mysql_query e mysql_fetch_array entre os dois?

<?php

function dbconnect()
{   
    $sql = "localhost"; 
    $username = "------";
    $password = "-----";
    $connection = mysql_connect($sql, $username, $password) or 
    die("unwable to cct");
    $databse = mysql_select_db("-------", $connection); 
    global $connection;
}

function close()
{
    global $connection;
    mysql_close($connection);
}

dbconnect();
$query = "Some SQL Statement";
$data = mysql_query($query, $connection); - L1
while (mysql_fetch_assoc($data))
{
  //echo something 
}
close();
?>

No momento, estou recebendo um erro dizendo que $ connection at L1 precisa ser um recurso, mas é um BOOL. Se eu der uma declaração lá, o mesmo é acionado. Eu não tenho ideia do que está errado. Por favor, localize todos os erros que você puder. Eu tenho que tirar um sabático da codificação e estou de volta depois de um tempo.

Obrigado e cumprimentos

questionAnswers(4)

yourAnswerToTheQuestion