繁体   English   中英

HTML在?> php结束标记后不显示

[英]HTML not displaying after ?> php closing tag

如标题所述,在用于填充下拉列表的php脚本之后,页面中的其余html均未显示(下拉列表显示正确)。 我在这里阅读了有关此主题的其他问题,他们说这是由于php中的错误所致,但是我已经检查了我的代码,没关系。 这是我的代码:

<select>
    <?php 

        $host="localhost"; // Host name 
    $username="llenarDB"; // Mysql username 
    $password="abc45de89"; // Mysql password 
    $db_name="Administrador"; // Database name 
    $tbl_name="USUARIOS"; // Table name 

    $dbh= mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");

    $sql = mysql_query("SELECT Usuario FROM $tbl_name");
    while ($row = mysql_fetch_array($sql)){
    echo "<option value=\"owner1\">" . $row['Usuario'] . "</option>";
    }
    $tabla1= mysql_query($sql, $dbh) or die ("");

?>
</select>

我哪里做错了 ?

提前致谢

您的查询可能失败。 看这条线

$tabla1= mysql_query($sql, $dbh) or die ("");

您只是die("")没有任何通知的情况下die("") 尝试将其更改为

$tabla1= mysql_query($sql, $dbh) or die (mysql_error($dbh));

你可能会遇到问题

这意味着您的代码在此行引发了异常:

$tabla1= mysql_query($sql, $dbh) or die ("");

并且由于die(); 脚本在关闭标签之前完成了执行,甚至没有显示错误。

将整个内容放入try-catch块中

try{
    $host="localhost"; // Host name 
    $username="llenarDB"; // Mysql username 
    $password="abc45de89"; // Mysql password 
    $db_name="Administrador"; // Database name 
    $tbl_name="USUARIOS"; // Table name 

    $dbh= mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");

    $sql = mysql_query("SELECT Usuario FROM $tbl_name");
    while ($row = mysql_fetch_array($sql)){
    echo "<option value=\"owner1\">" . $row['Usuario'] . "</option>";
    }
    $tabla1= mysql_query($sql, $dbh) or die ("");
} catch (Exception $e){
   echo $e;
}

无论如何,这是一个好习惯

或者您可以使用or die (mysql_error($dbh)); 如以上答案中所述

据我所知,当您告诉php die ,整个文件将停止加载(这是exit命令的别名)。

如果要加载结果,请使用异常,而不是使用die,请尝试使用异常, 此处将更彻底地讨论异常。

<?
try
{
  $connection = mysql_connect(...);
  if ($connection === false)
  {
    throw new Exception('Cannot connect do mysql');
  }

   /* ... do whatever you need with database, that may mail and throw exceptions too ... */

   mysql_close($connection);
}
catch (Exception $e)
{
   /* ... add logging stuff there if you need ... */

  echo "This page cannot be displayed";
}

?>

连接后将“ select”标签移至连接处,然后您将看到错误消息,如下所示:

<?php 

$host="localhost"; // Host name 
$username="llenarDB"; // Mysql username 
$password="abc45de89"; // Mysql password 
$db_name="Administrador"; // Database name 
$tbl_name="USUARIOS"; // Table name 

$dbh= mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
?>
<select>

<?php
$sql = mysql_query("SELECT Usuario FROM $tbl_name");
while ($row = mysql_fetch_array($sql)){
echo "<option value=\"owner1\">" . $row['Usuario'] . "</option>";
}
$tabla1= mysql_query($sql, $dbh) or die ("");

?>
</select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM