我在php中有此代码,如果我尝试单独运行每个循环,但是当我尝试执行嵌套时,而euleloop则将其输出为
的错误Fatal error: Uncaught PDOException: SQLSTATE[IMSSP]: There are no more rows in the active result set. Since this result set is not scrollable, no more data may be retrieved. in C:xampphtdocssurvey-modulesurvey.php:13 Stack trace: #0 C:xampphtdocssurvey-modulesurvey.php(13): PDOStatement->fetch() #1 {main} thrown in
这是PHP代码
$survey_detail=$survey->viewSurvey('3');
$questions=$survey->indexQuestion('3');
while ($question_header = $header_questions->fetch()){
while ($question_detail = $questions->fetch()){
if($question_detail['header']==$question_header['header']){
echo $question_detail['header'] . "-".$question_detail['question']. "<br>";
}
}
}
MSSQL不允许在嵌套时进行多次获取,因此我所做的就是获取数据并将其放在关联数组中,这是代码。
。$question_array = array();
while ($question = $questions->fetch()) {
$question_push = array('header'=>$question['header'],'question'=>$question['question']);
array_push($question_array,$question_push);
}
while ($question_validation =$header_questions->fetch()) {
foreach ($question_array as $key => $value) {
if($question_validation['header']==$value['header'])
{
echo $value['header'] ."-". $value['question'] ."<br>";
}
}
}
您可以尝试获取数据并将其比较与null,因为我发现当您获取最后一行时,下一行变为null,然后获取下一个,下一个会抛出异常There are no more rows in the active result set
。
这很奇怪,不应该工作 - 尝试获取非现有行时,我希望获得false
值。
尽管如此 - 它有效,我不会抱怨;(
$survey_detail=$survey->viewSurvey('3');
$questions=$survey->indexQuestion('3');
while (($question_header = $header_questions->fetch()) !== null){
while (($question_detail = $questions->fetch()) !== null){
if($question_detail['header']==$question_header['header']){
echo $question_detail['header'] . "-".$question_detail['question']. "<br>";
}
}
}