繁体   English   中英

从mysql数据库中选择信息并显示在页面上

[英]Select info from mysql-database and show on page

我试图在页面上显示来自mysql数据库的一些信息,但出现错误。 使用的代码:

<?php
if (isset($_GET["id"]));
$newsarticle = ($_GET["id"]);
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'XXXX';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error      connecting to mysql');
mysql_select_db($dbname);
$searchroute ="SELECT NewsText FROM News WHERE id=$newsarticle";
$handle = mysql_query($searchroute);
$NewsText = mysql_fetch_row($handle);
?>

然后在我的代码中:

<?php echo "$NewsText" ?>

我究竟做错了什么?

mysql_fetch_row()将返回数组,因此在您的情况下应为echo $NewsText[0];

如果使用mysql_fetch_array()则可以使用echo $NewsText['NewsText'];

1)变更

if (isset($_GET["id"]));

if (isset($_GET["id"])){

并且,在$NewsText = mysql_fetch_row($handle);下面添加} $NewsText = mysql_fetch_row($handle); if关闭

2)变更

$newsarticle = ($_GET["id"]);

$newsarticle = $_GET["id"];

3)放入$NewsText = mysql_fetch_row($handle); 在while循环中

while($NewsText = mysql_fetch_row($handle)){
  echo $NewsText[0]."<br>";
}

更新的代码:

<?php
if (isset($_GET["id"])){
  $newsarticle = $_GET["id"];
  $dbhost = 'localhost';
  $dbuser = 'root';
  $dbpass = '';
  $dbname = 'XXXX';
  $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error      connecting to mysql');
  mysql_select_db($dbname);
  $searchroute ="SELECT NewsText FROM News WHERE id=$newsarticle";
  $handle = mysql_query($searchroute);
  while($NewsText = mysql_fetch_row($handle)){
    echo $NewsText[0]."<br>";
  }
}
?>

您需要遍历结果集。

while($row = mysql_fetch_row($result))
{
    echo $row['NewsText'];
} 

如果您知道会有一条记录,可以这样做:

echo $row[0]['NewsText'];

确保使用key_exists执行索引检查以避免异常。

注意:停止使用不推荐使用的mysql_* API。 使用mysqli_*PDO

采用

$row = mysql_fetch_row($result);

接着

<?php echo $row["NewsText"]; ?>

暂无
暂无

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

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