可变数据'可能还没有定义

时间:2015-01-07 01:41:26

标签: php for-loop phpstorm

我正在开发一个显示数据的功能,但我一直收到警告“变量'数据'可能尚未定义

  function getAllData() {
        $query = "SELECT * FROM patient, person WHERE patient.Patient = person.Personnummer ";
        if(!$sql = mysql_query($query)) {
            throw new exception("Error: CAn not execute the query.");
        } else {
            $num = mysql_num_rows($sql);
            if($num>0)
            {
                for($i=0; $i<$num; $i++)
                {
                    $data[$i] = mysql_fetch_array($sql);
                }
            }
        }
        return $data;  //<--Variable 'data' might have not been defined
    }

1 个答案:

答案 0 :(得分:1)

我猜你的IDE会在你执行你的脚本时给你发出警告,而不是php(可能,但警告会有所不同)。

为避免这种情况,请确保始终定义:

function getAllData() {
    $data = array();
    $query = "SELECT * FROM patient, person WHERE patient.Patient = person.Personnummer ";
    ...

现在,如果没有找到行,将从您的函数返回一个空数组。在您当前的代码中,当您运行脚本并且没有找到任何行时,php会在运行时生成关于未定义变量的警告。