PHP interprets one '0' (zero) as false.
everything else (including -1) is true.
your database-read function should return 0 on failure, or 1 on success.
The results or error messages should be returned in other ways, like this:
if (read_from_database("SELECT...", $sErrorMsg)
{
no error, be happy.
}
else
{
echo $sErrorMsg;
};
function read_from_database($sQuery, &$sErrorMsg)
{
if ("execute the query")
{
$sErrorMsg = 'No errors';
return true;
}
else
{
$sErrorMsg = 'Big error';
return false;
};
};