选择多列时,脚本(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 循环开始,脚本就无法工作。我的 php 和 html 代码是:
<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 ' RELATED SEMESTER:';
echo $semester[$i];
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td> </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> </td>';
echo '<td align="left" background="reply_bg.gif"><span class="style3"> ';
echo 'echo the replies here';
echo '</span>';
echo '</td>';
echo'<td> </td>';
echo '</tr>';
echo '<tr>';
echo '<td> </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 any
在while
之前,使用var_dump($row)
或print_r($row)
。
如果您遇到空白页或没有错误报告,请在脚本开头使用error_reporting(E_ALL);
。
编辑:抱歉,您使用的是 MySQLi。使用$mysqli->error
。
【讨论】:
在这里复制时再次出现同样的错误..查看最新编辑..我已经写了 $result 考虑输出 MySQLi 产生的错误。您可能有空的行集,因此您没有得到任何结果。或者语法错误nusphere.com/kb/phpmanual/function.mysqli-error.htm以上是关于选择多列时,脚本(while-loop)停止并且没有输出的主要内容,如果未能解决你的问题,请参考以下文章
JDBC-ResultSet 在 while-Loop 中关闭
vhdl中while-loop语句实现奇偶校验时其中有条语句如何解释tmp:=tmp xor a (i),其之前的语句都知道。
R 中的 Bigrquery 库不上传数据并且不返回错误。按下停止时获取应用程序回调