PDO查询仅返回1行

我是PHP的新手,想知道为什么我的like查询只返回一个值。


这是我的模特


//For search

public function getSearchResults($username){

    $stmt = $this->_connection->prepare("SELECT * FROM users WHERE username LIKE :username");

    $stmt->execute(['username' => '%'.$username.'%']);

    $stmt->setFetchMode(PDO::FETCH_CLASS, "User");

    return $stmt->fetch();

}

然后在我的控制器中


function search($name){


    //Get search results

    $searchResults = $this->model('User');

    $searchResults = $searchResults->getSearchResults($name);

    $data = (array) $searchResults;


    $this->view('User/search', $data);

}

但是,它仅返回1个结果,而不是3个结果。(我有4个用户名,其中带有“ hi”,但仅返回一个)


幕布斯6054654
浏览 196回答 1
1回答

慕仙森

调用时fetch()-这仅返回一行,以返回结果集中使用的所有行fetchAll()return $stmt->fetchAll();
打开App,查看更多内容
随时随地看视频慕课网APP