[英]Parse error: syntax error, unexpected $end in file on line 128
嗨所以這是代碼:它是一個頁面,用於在下拉列表中顯示數據庫中的可用表,然后在表中顯示結果。 這樣做的實際代碼(在中間)可以完全獨立工作,但是當我嘗試在其周圍添加模板時,我會收到錯誤...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" >
<meta name="description" content="" >
<meta http-equiv="content-type" content="text/html; charset=utf-8" >
<title>SNYSB Archive</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" >
<!-- Location of javascript. -->
<script language="javascript" type="text/javascript" src="swfobject.js" ></script>
</head>
<div id="wrapper">
<div id="header">
<!-- KEEP THIS BIT [ITS FORMATTING] -->
</div>
<!-- end #header -->
<div id="menu">
<ul>
<li><a href="Hpage.php">Home</a></li>
<li><a href="Register.php">Register</a></li>
</ul>
</div>
<!-- end #menu -->
<div id="page">
<div id="page-bgtop">
<div id="page-bgbtm">
<div id="content">
<div class="post">
<div class="post-bgtop">
<div class="post-bgbtm">
<h1 class="title">PUT HEADING HERE!</h1>
<div class="entry">
<p class="Body">
<?php
$dbname = 'snysbarchive';
$conn= mysql_connect('localhost', 'root', 'usbw');
if (!$conn) {
echo 'Could not connect to mysql';
exit;
}
$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);
if (!$result) {
echo "DB Error, could not list tables\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}
if (mysql_select_db($dbname, $conn))
{
?>
<form method="post" action="new 2.php">
<select name="tables">
<?php
while ($row = mysql_fetch_row($result)) {
?>
<?php
echo '<option value="'.$row[0].'">'.$row[0].'</option>';
}
?>
</select>
<input type="submit" value="Show">
</form>
<?php
//mysql_free_result($result);
if (isset($_POST) && isset($_POST['tables']))
{
$tbl=$_POST['tables'];
//echo $_POST['tables']."<br />";
$query="SELECT * from $tbl";
$res=mysql_query($query);
echo $query;
if ($res)
{
?>
<table border="1">
<?php
while ( $row = mysql_fetch_array($res))
{
echo "<tr>";
echo "<td>".$row[0]."</td>";
echo "<td>".$row[1]."</td>";
echo "<td>".$row[2]."</td>";
echo "<td>".$row[3]."</td>";
echo "</tr>";
} ?>
</table>
<?php
}
}
?>
</div>
</div>
</div>
</div>
<div style="clear: both;"> </div>
</div>
<!-- end #content -->
<div id="sidebar">
<ul>
<li>
<h2>Welcome!</h2>
<p>Welcome to SNYSBs archive!
</p>
</li>
<li>
<h2>SNYSB</h2>
<p>
<a href="Contact.php">Contact Us!</a>
</p>
</li>
</ul>
</div>
<!-- end #sidebar -->
<div style="clear: both;"> </div>
</div>
</div>
</div>
<!-- end #page -->
<div id="footer">
<p>Copyright (c) 2008 Sitename.com. All rights reserved. Design by <a href="http://www.freecsstemplates.org/">Free CSS Templates</a>.</p>
</div>
<!-- end #footer -->
</div>
</body>
</html>
它一直說意想不到的結局,但我不知道如何解決它?
Error Message:Parse error: syntax error, unexpected $end in file on line 128
謝謝
當服務器不支持short-open-tags
( <?
而不是<?php
)時混合短標簽和常開標簽時也可能發生這種情況,即使代碼中不是這種情況。
<?php
$showHeader = true;
if ($showHeader) {
?>
<h1>Hello, World!</h1>
<?
}
?>
請注意,如果服務器不支持<?
則不會注冊結束括號<?
打開標簽。
第50行: if (mysql_select_db($dbname, $conn))
有一個左括號而不是結束括號。
您可能需要更改<?
到<?php
您錯過了一個'}',所以如果沒有關閉塊,請關注。
if (mysql_select_db($dbname, $conn))
{
通過在#91行中添加},您的代碼就可以運行了。
但總是嘗試通過遵循最佳實踐來編寫更清晰的代碼。
你忘記用}
關閉這個塊:
if (mysql_select_db($dbname, $conn))
{
?>
試試這段代碼:
<?php
$dbname = 'snysbarchive';
$conn= mysql_connect('localhost', 'root', 'usbw');
if (!$conn) {
echo 'Could not connect to mysql';
exit;
}
$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);
if (!$result) {
echo "DB Error, could not list tables\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}
if (mysql_select_db($dbname, $conn))
{
?>
<form method="post" action="new 2.php">
<select name="tables">
<?php
while ($row = mysql_fetch_row($result)) {
echo '<option value="'.$row[0].'">'.$row[0].'</option>';
}
?>
</select>
<input type="submit" value="Show">
</form>
<?php
}
//mysql_free_result($result);
if (isset($_POST) && isset($_POST['tables']))
{
$tbl=$_POST['tables'];
//echo $_POST['tables']."<br />";
$query="SELECT * from $tbl";
$res=mysql_query($query);
echo $query;
if ($res)
{
?>
<table border="1">
<?php
while ( $row = mysql_fetch_array($res))
{
echo "<tr>";
echo "<td>".$row[0]."</td>";
echo "<td>".$row[1]."</td>";
echo "<td>".$row[2]."</td>";
echo "<td>".$row[3]."</td>";
echo "</tr>";
}
?>
</table>
<?php
}
}
?>
您沒有在函數周圍使用正確的大括號選擇數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.