php 解析错误:语法错误,第 128 行文件中意外的 $end

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9658172/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 07:23:32  来源:igfitidea点击:

Parse error: syntax error, unexpected $end in file on line 128

phpsyntax

提问by AisRuss

Hi So this is the code: Its a page to display my available tables in the database in a drop-down, then display the results in the table. The actual code to do so (in the middle) works perfectly on its own, but when I try to add my template around it I get errors...

嗨,这是代码:它是一个页面,用于在下拉列表中显示我在数据库中的可用表,然后在表中显示结果。这样做的实际代码(在中间)可以完美地工作,但是当我尝试在它周围添加我的模板时,我得到了错误......

<!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;">&nbsp;</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;">&nbsp;</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>

It keeps saying unexpected end but I am not sure how to fix it?

它一直说意外结束,但我不知道如何解决?

Error Message:Parse error: syntax error, unexpected $end in file on line 128

Thanks

谢谢

采纳答案by yehuda

You have not selected your database with correct braces around the function.

您没有选择您的数据库,并在函数周围使用正确的大括号。

回答by sshow

This may also occur when mixing short and normal open tags when the server does not support short-open-tags(<?instead of <?php), even though this wasn't the case in your code.

当服务器不支持short-open-tags(<?而不是<?php)时,混合短标签和普通开放标签时也可能发生这种情况,即使在您的代码中并非如此。

<?php

$showHeader = true;

if ($showHeader) {
?>
<h1>Hello, World!</h1>
<?
}
?>

Note that the closing bracket will not be registered if the server doesn't support the <?open tag.

请注意,如果服务器不支持<?open 标签,则不会注册右括号。

回答by Ing

Line 50: if (mysql_select_db($dbname, $conn))has an opening bracket and not a closing one.

第 50 行:if (mysql_select_db($dbname, $conn))有一个左括号而不是右括号。

回答by T.Todua

You may need to change <?to <?php

您可能需要更改<?<?php

回答by Thushan

You have missed a '}' so following if block is not closed.

如果块未关闭,您错过了一个 '}' 所以跟随。

if (mysql_select_db($dbname, $conn))
{ 

By adding a } in Line #91 your code will be worked.

通过在第 91 行中添加 },您的代码将起作用。

But always try to write much cleaner code by following best practices.

但始终尝试通过遵循最佳实践来编写更清晰的代码。

回答by Mohammad Saberi

you forget to close this block with a }:

您忘记使用以下命令关闭此块}

if (mysql_select_db($dbname, $conn))
{
?>

Try this code :

试试这个代码:

<?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
    }
}
?>