我试图显示一些信息从一个页面上的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) Change
if (isset($_GET["id"]));
if (isset($_GET["id"])){
和,在$NewsText = mysql_fetch_row($handle);
下面添加}
来关闭if
2) Change
$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>";
}
}
?>
使用
$row = mysql_fetch_row($result);
和
<?php echo $row["NewsText"]; ?>
您需要遍历结果集。
while($row = mysql_fetch_row($result))
{
echo $row['NewsText'];
}
如果你知道会有一个记录,你可以这样做:
echo $row[0]['NewsText'];
确保使用key_exists
执行索引检查以避免异常。
注意:停止使用弃用的mysql_*
API。使用mysqli_*
或PDO