0

我有一个数据库,我想在一个表中显示两列。

我有以下代码但是,这不起作用,我得到

"; } mysqli_close($con); as my answer.[solved after removing echo "<br />"]

代码如下:

<html>
<style>
div.transbox
  {
  width:850px;
  height:500px;
  margin:30px 50px;
  background-color:#ffffff;
  border:1px solid black;
  opacity:0.9;
  padding: 20px;
  filter:alpha(opacity=60); /* For IE8 and earlier */
  }



  ul#navigation
  {
  link-style: none;
   padding: 5px 20px 5px 20px
  margin: 0;
  }
  ul#navigation li
  {
  display: inline;
  }
  h1#heading
  {
    color:#ffffff;
        background-color:#000000;
        text-decoration:none;
font-family:georgia, times, serif;
font-size:2em;
padding:10px;
border-bottom:3px solid #ff6600;
  }
  ul#navigation a {
        color:#ffffff;
        background-color:#000000;
        text-decoration:none;
font-family:georgia, times, serif;
font-size:1.126em;
padding:10px;
border-bottom:3px solid #ff6600;}

  div.line
  {
  display: inline;
  }

 ul#navigation a:hover {
        color:#000000;
        background-color:#ff6600;
        padding:10px;
        border-bottom:3px solid #000000;}
  </style>

<head><h1 id="heading">Food Review </h1>
<ul id="navigation">
<li><a href="form4.html">Review</a></li>
<li><a href="Ratings.html">Ratings</a><li>
</ul>
</head>

<body background = img.jpg>
<div class="transbox">
<div class="work">
<?php
define('DB_NAME','form');
define('DB_USER','root');
define('DB_PASSWORD','toor');
define('DB_HOST','localhost');
$link = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if(!$link)
{
    die('could not connect : ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME,$link);
if(!$db_selected)
{
    die('Can\'t use ' .DB_NAME . ': ' .mysql_error());
}
$result = mysqli_query($link,"SELECT fname,Ratings from demo1");

while($row = mysqli_fetch_array($result))
{
echo $row['fname']." ".$row['Ratings'];
}
mysqli_close($link);
?>
</div>
</div>
</body>
</html>
}

我做了以下更改,但仍然没有显示结果。

4

4 回答 4

2
$link = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);

由于您初始化了与$link您的连接,因此应该关闭$link

 mysql_close($link);

并更改以下行

echo "<br />"; 

echo "<br>"; 

并且您正在混合mysqlmysqli请检查并仅使用适合您的一种

于 2013-10-08T22:55:01.220 回答
1

我很确定demo1表中的某些数据包含与 html 混淆并破坏标签嵌套的字符。

尝试替换这个:

echo $row['fname']." ".$row['Ratings'];

echo htmlentities($row['fname']." ".$row['Ratings']);

编辑:另外,mysql_connectmysqli_connectmysql_select_db替换mysqli_select_db

于 2013-10-08T23:15:43.250 回答
1

您正在混合 mysql 函数和 mysqli。看看这里:http://php.net/manual/en/mysqli.query.php如何正确使用mysqli

<?php

define('DB_NAME','form');
define('DB_USER','root');
define('DB_PASSWORD','toor');
define('DB_HOST','localhost');

$mysqli = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$result = $mysqli->query("SELECT fname,Ratings from demo1");

while($row = $result->fetch_array())
{
$rows[] = $row;
echo $row['fname']." ".$row['Ratings']."<br />";
}

$mysqli->close();
?>

还有一种程序风格,但我强烈推荐面向对象;)

编辑:另外一个好主意是为开发启用错误报告。将此添加到您的 php 文件的开头:

<?php
ini_set('display_errors',1); 
error_reporting(E_ALL);
?>
于 2013-10-08T23:20:18.970 回答
0

您的 PHP 安装已损坏且无法运行,因此您的 PHP 代码被发送到浏览器,浏览器将<?php标签解释为损坏/未知的 HTML 标签,并且页面的全部内容将被忽略,直到您到达

echo "<br />";

其中/>用作此“格式错误”的右括号<?php标签的右括号。

这就是为什么您只能在浏览器中看到 mysqli_close 业务,因为其他所有内容都被隐藏为损坏的标签。

于 2013-10-08T22:55:30.973 回答