这个问题是由一个打字错误或一个无法重现的问题引起的。虽然类似的问题可能是这里的主题,但这个问题的解决方式不太可能对未来的读者有所帮助。
当选择为空时,我编辑此代码以显示Mesaje,并且我收到此错误:
Parse error: syntax error, unexpected 'else' (T_ELSE) in /nginx/user/reports.php on line 235
这是代码:
$stmt = $mysqli->prepare("SELECT date, impressions, balance, username FROM reports WHERE username = '$username' and date between '$firstDay' AND '$lastDay'");
$stmt->execute();
$stmt->store_result();
$rows = $stmt->num_rows;
mysqli_stmt_bind_result($stmt,$date,$impressions,$balance,$username);
if ($rows > 0){
while (mysqli_stmt_fetch($stmt)) {
$ecpm_t3 = $balance*1000;
$ecpm3 = $ecpm_t3/$impressions;
$rate = number_format((float)$ecpm3, 2, '.', '');
echo"<tr>
<td class=\"nn\" style=\"text-align:center;\" align=center>$date</td>
<td class=\"nn\" style=\"text-align:center;\" align=center>$impressions</td>
<td class=\"nn\" style=\"text-align:center;\" align=center>$$rate</td>
<td class=\"nn\" style=\"text-align:center;\" align=center nowrap>$$balance</td>
</tr>";
} else {
echo"<tr>
<td colspan=\"4\" class=\"nn\" style=\"text-align:center;\" align=center>Not rows</td>
</tr>";
}
}
第235行是:
} else {
我如何解决这个错误?什么是坏的?
试试这个
<?php
$stmt = $mysqli->prepare("SELECT date, impressions, balance, username FROM reports WHERE username = '$username' and date between '$firstDay' AND '$lastDay'");
$stmt->execute();
$stmt->store_result();
$rows = $stmt->num_rows;
mysqli_stmt_bind_result($stmt,$date,$impressions,$balance,$username);
if ($rows > 0){
while (mysqli_stmt_fetch($stmt)) {
$ecpm_t3 = $balance*1000;
$ecpm3 = $ecpm_t3/$impressions;
$rate = number_format((float)$ecpm3, 2, '.', '');
echo"<tr>
<td class=\"nn\" style=\"text-align:center;\" align=center>$date</td>
<td class=\"nn\" style=\"text-align:center;\" align=center>$impressions</td>
<td class=\"nn\" style=\"text-align:center;\" align=center>$$rate</td>
<td class=\"nn\" style=\"text-align:center;\" align=center nowrap>$$balance</td>
</tr>";
}} else {
echo"<tr>
<td colspan=\"4\" class=\"nn\" style=\"text-align:center;\" align=center>Not rows</td>
</tr>";
}
?>
工作示例(固定和格式化):
$stmt = $mysqli->prepare("SELECT date, impressions, balance, username FROM reports WHERE username = '$username' and date between '$firstDay' AND '$lastDay'");
$stmt->execute();
$stmt->store_result();
$rows = $stmt->num_rows;
mysqli_stmt_bind_result($stmt, $date, $impressions, $balance, $username);
if ($rows > 0)
{
while (mysqli_stmt_fetch($stmt))
{
$ecpm_t3 = $balance * 1000;
$ecpm3 = $ecpm_t3 / $impressions;
$rate = number_format((float)$ecpm3, 2, '.', '');
echo "<tr>
<td class=\"nn\" style=\"text-align:center;\" align=center>$date</td>
<td class=\"nn\" style=\"text-align:center;\" align=center>$impressions</td>
<td class=\"nn\" style=\"text-align:center;\" align=center>$$rate</td>
<td class=\"nn\" style=\"text-align:center;\" align=center nowrap>$$balance</td>
</tr>";
}
}
else
{
echo "<tr>
<td colspan=\"4\" class=\"nn\" style=\"text-align:center;\" align=center>Not rows</td>
</tr>";
}
你能看到为什么我会得到一个意外的T_ELSE错误的原因吗?我一定是瞎了..
以下是我的php代码: 为什么我会得到这个错误?我有我需要的所有支架,不是吗?
我寻找答案,发现缺少引号或括号会导致这个错误。我检查了几次,并添加了丢失的引号,但第91行在底部,所以我无法找出它,除非它是“< code>else:”我从上到下看了看,但我不确定哪个会导致错误。请借给我你的眼睛找到问题。谢谢你
下面是一些相关代码: 是什么导致了解析错误?
第22行是: 我不知道为什么我会得到这个,我已经检查了我的语法,所有似乎是正确的。它基本上不喜欢执行查询后的任何内容 编辑: 我明白这是容易SQL注入,但我这样做只是为了测试目的。
基本上,我正在youtube上做注册和登录教程。它使用的是旧版本的PHP,我试图更新代码,但出现以下错误: 分析错误:语法错误,在第23行的C:\Program Files(x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Forum\Forum\core\functions\users.php中出现意外“,” users.php