Php 数组错误地返回空

Php 数组错误地返回空,php,arrays,return,Php,Arrays,Return,我对php有点陌生,所以仍然在学习输入和输出。我实际做的事情的细节大部分是无关紧要的 下面的代码用于连接到数据库,执行查询,然后返回一个填充了相应行的数组。目前,数组在searcher函数中打印时有数据,稍后检查时为空 function searcher ($connector, $select, $from, $where) { $profile = array(); $query = $connector->prepare('SELECT ' . $select .

我对php有点陌生,所以仍然在学习输入和输出。我实际做的事情的细节大部分是无关紧要的

下面的代码用于连接到数据库,执行查询,然后返回一个填充了相应行的数组。目前,数组在searcher函数中打印时有数据,稍后检查时为空

function searcher ($connector, $select, $from, $where)
{
    $profile = array();

    $query = $connector->prepare('SELECT ' . $select . ' FROM ' . $from . ' WHERE ' . $where);
    $query->execute();

    while ($row = $query->fetch(PDO::FETCH_ASSOC))
    {
        $profle[] = $row;
    }

    print_r($profle);
    return $profile;
}

$connector = db_connection ('localhost', 'sakila', 'root', 'admin');

$search[] = searcher($connector, '*', 'actor', 'actor_id = 1 OR actor_id = 2');
echo "<br><br>";
print_r($search); 
函数搜索器($connector、$select、$from、$where)
{
$profile=array();
$query=$connector->prepare('SELECT'.$SELECT.'FROM'.$FROM.'WHERE'.$WHERE');
$query->execute();
while($row=$query->fetch(PDO::fetch_ASSOC))
{
$profle[]=$row;
}
打印(profle);
返回$profile;
}
$connector=db_连接('localhost','sakila','root','admin');
$search[]=searcher($connector,'*','actor','actor_id=1或actor_id=2');
回声“

”; 打印(搜索);
结果如下:

数组([0]=>Array([actor\u id]=>1[first\u name]=>PENELOPE [姓氏]=>吉尼斯[最新更新]=>2006-02-15 04:34:33[1]=> 数组([actor\u id]=>2[first\u name]=>NICK[last\u name]=>WAHLBERG [最后更新]=>2006-02-1504:34:33)

数组([0]=>Array())


知道我做错了什么吗?我敢肯定这是一个简单的问题,因为没有什么复杂的事情发生。

您的
$profile
变量拼写错误。也许这就是原因


但是,代码是完全合法的,这就是您没有从解析器收到任何警告或通知的原因。

事实上,您的搜索程序中有两个不同的数组-$profile$profle。在函数中,用值填充$profle,然后将其输出。这就是为什么在第一种情况下会得到输出。
但是,函数返回空数组$profile,并在主程序中输出。这就是为什么在第二种情况下会得到空数组。

@Jack碰巧发生在每个人身上:)如果您对答案感到满意,请单击绿色复选标记将其标记为已接受。必须等待15米,仅此而已。