我收到此错误消息:
“解析错误:语法错误,第822行的C:\ Users \ Stacky \ Desktop \ xampp \ htdocs \ wweff \ stackhelp.php中的意外$结尾”
我一直在尝试通过修改我的代码的第一行(第54行)来使这段代码正常工作。
这是完整的代码。请注意“// ^^^^ RIGHT ABOVE IS LINE 54”。在下面的代码中:
<html>
<head>
</head>
<body>
<?php
$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("thegoodhumor");
$strSQL = "SELECT * FROM gallery";
if (!isset($_GET['Page'])) $_GET['Page']='0';
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 16; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by GalleryID ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
$cell = 0;
echo '<table border="1" cellpadding="2" cellspacing="1"><tr>';
while($objResult = mysql_fetch_array($objQuery))
{
if($cell % 4 == 0) {
echo '</tr><tr>';
}
if($cell == 2 || $cell == 3) {
echo '<td>RESERVED</td>';
} else {
echo '<td><img src="https://s3.amazonaws.com/imagetitle/' .
$objResult["Picture"];?>" height="190" width="190" /> . .$objResult["GalleryName"].'\</td>';
//^^^^ RIGHT ABOVE IS LINE 54.
}
$cell++;
}
echo '</tr></table>';
?>
<?php
//DELETED PAGINATION CODE for the sake of simplicity in StackOverflow
?>
</body>
</html>
<?php
mysql_close($objConnect);
?>
答案 0 :(得分:4)
$objResult["Picture"];?>" height="190" width="190" /> . .$objResult["GalleryName"].'\</td>';
包含?>
,它告诉PHP解释器停止解释,换句话说,后面的所有内容都是原始HTML。
尝试将;?>
更改为.
,将`
更改为height="190"
,然后移除\
之前的</td>
,并提供:
$objResult["Picture"] . 'height="190" width="190" />' .
$objResult["GalleryName"] . '</td>';
答案 1 :(得分:1)
你有“?&gt;”在第54行的中间,它告诉PHP停止预处理(在echo语句的中间)。你可能想删除它。
答案 2 :(得分:0)
在以下代码部分中:
while($objResult = mysql_fetch_array($objQuery))
{
if($cell % 4 == 0) { // A { is opened here
echo '</tr><tr>';
// Maybe it should be closed here ?
}
您似乎没有关闭与{
对应的if
。
而且,在您的代码中稍低一点,您有}
似乎不属于那里:
if($cell == 2 || $cell == 3) {
echo '<td>RESERVED</td>';
} else {
echo '<td><img src="https://s3.amazonaws.com/imagetitle/' .
$objResult["Picture"];?>" height="190" width="190" /> . .$objResult["GalleryName"].'\</td>';
//^^^^ RIGHT ABOVE IS LINE 54.
} // closing the else
$cell++;
} // what is this doing here ?
在这种情况下的一般建议:正确缩进代码!
这将使你更容易发现这类问题;-) 当然,会让您的代码更容易阅读。