[英]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.