この関数は、$alias が 2 回目の再帰で値を持っている間は NULL を返します。最初の呼び出しでは必要な値を返しますが、最初に一致しなかった場合は $alias 変数で必要な値を最初に再帰しますが、何も返しません。
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);
}
}