gpt4 book ai didi

php - 使用 PDO 从 MySQL 获取并循环数据

转载 作者:行者123 更新时间:2023-11-30 00:40:34 25 4
gpt4 key购买 nike

我想循环遍历数据库中的所有行并将它们显示给用户,但我只得到输出中的第一行。

这是我的代码::

查询功能:

public function query($sql, $params = array()) {
$this->_error = false;
if($this->_query = $this->_pdo ->prepare($sql)) {
$x = 1;
if(count($params)) {
foreach ($params as $param) {
$this->_query->bindValue($x,$param);
$x++;
}
}

if($this->_query->execute()) {
$this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
$this->_count =$this->_query->rowCount();
} else {
$this->_error = true;
}

}
return $this;
}


public function results() {
return $this->_results;
}

我的查询:

$search = DB::getInstance()->query("SELECT * FROM staff_info WHERE staff_id = ?",array(
Input::get('staff_id')));

if($search->count()){
if($search) {
$search_result = $search->results();
foreach ($search_result as $val) {
$fname = $val->fname;
$surname = $val->surname;
$street = $val->street;

echo '<div class="table-responsive table-bordered">
<table class="table">
<tr>
<td><a href="index.php?ad=profile">'.$fname.'</a></td>
<td><a href="index.php?ad=profile">'.$surname.'</td>
<td><a href="index.php?ad=profile">'.$street.'</td>
</tr>
</table>
</div>';
}
}

问题是——即使数据库中有更多其他行,我也只得到第一行。有什么想法为什么会发生这种情况吗?

最佳答案

您错过了下划线。

在查询函数中,您将输出存储在 $this->_results 中。您需要在循环之前更正变量名称。 $search->_results

关于php - 使用 PDO 从 MySQL 获取并循环数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21800446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com