php解析器错误我无法解决
问题描述:
我是一名php初学者,并且遇到问题,为什么我的代码一直在抛出解析器错误。希望你们能帮助我。php解析器错误我无法解决
的错误出现在代码的结尾,是 “意外的,期待的同时(T_WHILE)” 的代码是在这里...
<html>
<?php
$db = new PDO('mysql:host=localhost;dbname=testit;charset=UTF-8', 'testit', 'testit', array(PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$stmt = $db->query("SELECT * FROM TestTable");
$amdata = array();
$ctrinner = 0;
$ctrouter = -1;
$prevweek = "9999";
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) do {
if ($prevweek !== $row['WeekNumber']) {
$ctrouter++;
$ctrinner = 0;
$amdata[$ctrouter][$ctrinner] = 'week: "'+$row['WeekNumber']+'"';
}
$ctrinner++;
$amdata[$ctrouter][$ctrinner] = $row['XAxisCategory']+': '+$row['YAxisValue'];
$prevweek = $row['WeekNumber'];
}
// Whatever comes aftert this line throws a php error 'Unexpected <whatever I put there>, expecting while (T_WHILE)....'
// Even if I put nothing it complains about Unexpected '?>' expecting while (T_WHILE) ?>
?>
</html>
答
您do-while循环是错误的。
一个do-while循环的样子:
do {
/* loop body */
} while (/* condition */);
但在你的特殊情况下,我会简单地忽略do
关键字:
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
/* loop body */
}