This function returns NULL while $alias having a value in the second recursion.
In the first call, it returns the required value, but when the first if does not match and it recurse first, the required value is available in the $alias variable, but it does not return anything.
public function checkAlias($fname='', $lname='') {
if(!empty($fname)) {
$fname = mysql_real_escape_string($fname);
}
if(!empty($lname)) {
$lname = mysql_real_escape_string($lname);
}
$alias = strtolower($fname).strtolower($lname);
$sql = "Select ALIAS from table where ALIAS = '$alias'";
$query = mysql_query($sql);
$row = mysql_fetch_row($query);
$string_length = strlen($alias) - 1;
$result_string = substr($alias, 0, $string_length);
if(!$row) {
print $alias; // Is printing value
return $alias; // But here it returns null
}
else {
$this->checkAlias($result_string);
}
}