选择多列时,脚本(while-loop)停止并且没有输出

Posted

技术标签:

【中文标题】选择多列时,脚本(while-loop)停止并且没有输出【英文标题】:script(while-loop) stops and has no ouput when multiple columns are selected 【发布时间】:2013-03-20 23:39:41 【问题描述】:

我想从 TABLE 中选择多个列,但是一旦 while 循环开始,脚本就无法工作。我的 phphtml 代码是:

<table border="0">
include_once $_SERVER['DOCUMENT_ROOT'].'/include/db.inc.php' ;
$sql="select post_title,post_desc,post_date,course,semester,firstname,lastname 
      FROM wbut_forum_posts left join users on post_by = email
      ORDER BY post_id DESC LIMIT 25";
$result = mysqli_query($link,$sql );

if (!$result) 
    include_once "wall.html.php";
    echo'<tr><td align="center"> OOOOPPPPPSSS!!!SORRY,UNABLE TO DISPLAY LATEST 25 TOPICS</td></tr>';
    exit();


while ($row = mysqli_fetch_array($result)) 
    $titles[] = $row['post_title'];
    $descs[] = $row['post_desc'];
    $dates[] = $row['post_date'];
    $courses[] = $row['course'];
    $semesters[] = $row['semester'];
    $firstnames[] = $row['firstname'];
    $lastnames[] = $row['lastname'];


$cnt=0;
foreach ($titles as $x) 
    $title[$cnt]=$x;
    $cnt=$cnt+1;


$cnt=0;
foreach ($firstnames as $x) 
    $firstname[$cnt]=$x;
    $cnt=$cnt+1;


$cnt=0;
foreach ($lastnames as $x) 
    $lastname[$cnt]=$x;
    $cnt=$cnt+1;


$cnt=0;
foreach ($descs as $x) 
    $descs[$cnt]=$x;
    $cnt=$cnt+1;


$cnt=0;
foreach ($dates as $x) 
    $date[$cnt]=$x;
    $cnt=$cnt+1;


$cnt=0;
foreach ($courses as $x) 
    $courses[$cnt]=$x;
    $cnt=$cnt+1;


$cnt=0;
foreach ($semesters as $x) 
    $semester[$cnt]=$x;
    $cnt=$cnt+1;


echo'AFTER FOREACHES';
for ($i=0;$i<$cnt;$i=$i+1) 

    echo'<table border="0">';
        echo'<tr>';
            echo '<td align="left"><span class="style1">';
                echo $firstname[$i] . " " . $lastname[$i] ;
            echo '</span></td>';
            echo '<td align="center"  colspan="2">RELATED COURSE :';
                echo $course[$i];
                echo '&nbsp;&nbsp;&nbsp;&nbsp; RELATED SEMESTER:';
                echo $semester[$i];
            echo '</td>';
        echo '</tr>';
        echo '<tr>';
            echo '<td>&nbsp;</td>';
            echo'<td align="left"><span class="style3">';
                echo  $desc[$i];
            echo '</span></td>';
            echo'<td valign="baseline">';
                echo $date[$i];
            echo '</td>';
        echo '</tr>';
        echo'<tr>';
            echo '<td>&nbsp;</td>';
            echo '<td align="left" background="reply_bg.gif"><span class="style3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
                echo 'echo the replies here';
                echo '</span>';
            echo '</td>';
            echo'<td>&nbsp;</td>';
        echo '</tr>';
        echo '<tr>';
            echo '<td>&nbsp;</td>';
            echo '<form action="reply.html.php" method="post"><td align="left" ><textarea rows="5" cols="40" name="reply" id="reply"></textarea>    </td><td valign="baseline"><input type="submit" name="asd" value="REPLY" /><input type="hidden" name="reply" value="reply" /></td></form>';
        echo '  </tr>';
        echo '</table>';        
    
    echo' CLOSING MAIN FOR ';
?>
</table>

注 1:不工作..我已经在不同的地方回响了。我注意到它在 while 循环开始时完全停止

【问题讨论】:

没有得到你。我应该在哪里做 你在哪里用关闭了while循环我看不到它。能否请您提供原始文件? exit(); 之后 【参考方案1】:

您的代码的第一行没有打开 PHP 标记。 应该是:

<table border="0"><?

【讨论】:

【参考方案2】:
    变量$sql之后,$result在哪里? $result = mysql_query($sql) **or die(mysql_error)** // to give the output error from MySQL if there is anywhile 之前,使用var_dump($row)print_r($row)。 如果您遇到空白页或没有错误报告,请在脚本开头使用error_reporting(E_ALL);

编辑:抱歉,您使用的是 MySQLi。使用$mysqli-&gt;error

【讨论】:

在这里复制时再次出现同样的错误..查看最新编辑..我已经写了 $result 考虑输出 MySQLi 产生的错误。您可能有空的行集,因此您没有得到任何结果。或者语法错误nusphere.com/kb/phpmanual/function.mysqli-error.htm

以上是关于选择多列时,脚本(while-loop)停止并且没有输出的主要内容,如果未能解决你的问题,请参考以下文章

JDBC-ResultSet 在 while-Loop 中关闭

Python3练习题系列(03)

vhdl中while-loop语句实现奇偶校验时其中有条语句如何解释tmp:=tmp xor a (i),其之前的语句都知道。

R 中的 Bigrquery 库不上传数据并且不返回错误。按下停止时获取应用程序回调

运行 js 脚本时,Bootstrap 4 carousel 停止工作

猎豹浏览器能否像遨游那样有停止JS脚本功能?就能复制特定网页文字了