Zend framework 使用zend和mysql进行While循环

Zend framework 使用zend和mysql进行While循环,zend-framework,Zend Framework,rowI刚到zend,所以请耐心点:) 我只需要从一个mysql查询中提取5个结果,我如何才能执行此循环才能工作?我将尝试解释我自己: $var = $db->query($sql); while($rows = $var->fetch()) { $msg = 'loop from 1 to 5'; } return $this->view->msg = $msg; 希望你们能理解我的问题,我知道这些句子写得不正确,但让我自己理解,请帮助 谢谢也许像这样的东西可以帮你上

rowI刚到zend,所以请耐心点:)

我只需要从一个mysql查询中提取5个结果,我如何才能执行此循环才能工作?我将尝试解释我自己:

$var = $db->query($sql);
while($rows = $var->fetch()) {
$msg = 'loop from 1 to 5';
}
return $this->view->msg = $msg;
希望你们能理解我的问题,我知道这些句子写得不正确,但让我自己理解,请帮助


谢谢

也许像这样的东西可以帮你上路

$var = $db->query($sql);
for($i = 0; $i<5; $i++) {
   $row = $var->fetch()) {
   $msg = 'loop from 1 to 5';
}
return $this->view->msg = $msg;
$var=$db->query($sql);
对于($i=0;$ifetch()){
$msg='从1循环到5';
}
返回$this->view->msg=$msg;

也许像这样的东西可以帮你上路

$var = $db->query($sql);
for($i = 0; $i<5; $i++) {
   $row = $var->fetch()) {
   $msg = 'loop from 1 to 5';
}
return $this->view->msg = $msg;
$var=$db->query($sql);
对于($i=0;$ifetch()){
$msg='从1循环到5';
}
返回$this->view->msg=$msg;

考虑在SQL语句中使用
限制5
。当您告诉SQL server您只需要5个结果时,性能会更好。否则,例如,当只有4个异常时,您可能会遇到空异常。

请考虑在SQL语句中使用
限制5
。当您告诉SQL server您只需要5个结果时,性能会更好。否则,例如,当只有4个时,您可能会遇到null异常。

no它只显示一个结果:(,我所做的是在$row之前添加并关闭{},但仍然只给我一个结果。你确定你的查询返回了多个结果吗?也许你需要先调试你的查询。就像我说的,我是新手,我想while参数可以让我检索多个结果,但我猜我错了,那么我怎么能检索多个结果呢?检查zend指南,它是一个syas fetch循环我做到了,我使用fetchAll($sql)并使用数组选项返回每个值:$stmt=$db->query('SELECT*FROM bug');$rows=$stmt->fetchAll();echo$rows[0]['bug_description'];正如zend guide中所说的那样。许多感谢您的代码格式不正确,它有两个开头
{
,但只有一个结尾
}
。另外,当可用结果少于
5
时,它可能会失败。我建议在
SQL
语句中使用
LIMIT 5
。然后您也可以实际使用
fetchAll
。不,它只显示一个结果:(,我所做的是在$row之前添加并关闭{}),但仍然只给我一个结果。你确定你的查询返回了多个结果吗?也许你需要先调试你的查询。就像我说的,我是新手,我想while参数可以让我检索多个结果,但我猜我错了,那么我怎么能检索多个结果呢?检查zend指南,它是一个syas fetch循环我做到了,我使用fetchAll($sql)并使用数组选项返回每个值:$stmt=$db->query('SELECT*FROM bug');$rows=$stmt->fetchAll();echo$rows[0]['bug_description'];正如zend guide中所说的那样。许多感谢您的代码格式不正确,它有两个开头
{
,但只有一个结尾
}
。另外,当可用结果少于
5
时,它可能会失败。我建议在
SQL
语句中使用
LIMIT 5
。然后您也可以实际使用
fetchAll