为什么我的代码没有正确输出我的SQL数据库中的信息?

时间:2014-08-24 13:11:12

标签: php mysql sql

我正在尝试将我的sql数据库表中的信息输出到我的网页上。

这是我桌子的结构。

Name      Type              Null    Default
Name      text              No      None
Picture   varchar(30)       No      None
Date      date              No      None
Price     int(11)           No      None

这是我用来查询数据库和输出数据的原因:

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM Events";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

$i=0;
while ($i < $num) {

$Name=mysql_result($result,$i,"Name");
$Picture=mysql_result($result,$i,"Picture");
$Date=mysql_result($result,$i,"Date");
$Price=mysql_result($result,$i,"Price");


echo "<b>$Name</b><br>$Picture</br><br$Date</br><br>$Price</br>";

$i++;
}

?>

这是输出到网页上的内容:

$Name
$Picture

$Price
"; $i++; } ?>

3 个答案:

答案 0 :(得分:0)

输入以下行时出错:

$num=mysql_numrows($result);

缺少“下划线”,应该是:

$num=mysql_num_rows($result);

这是第一个错误,第二个是这一行:

echo "<b>$Name</b><br>$Picture</br><br$Date</br><br>$Price</br>";

查看<br$Date,您会发现缺少&gt;就在它之前,应该是

 <br>$Date

最后注意:你应该停止使用mysql函数,并按照PHP.net的建议开始使用mysqli或PDO,因为mysql扩展已经过时了,并没有对它进行任何改进。如果你不想学习新东西,考虑使用mysqli,它与使用mysql(在语法中)非常相似,但有更多的改进。

答案 1 :(得分:0)

这是需要做的事情......

1.忘记mysql - 易于注射和古代历史 - 使用mysqli_PDO

2.使用正确的链来获取数据..

3.完成后,close连接

<?php
$mysqli = new mysqli($host,$username,$password,$database);

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * FROM Events";

if ($result = $mysqli->query($query)) {

    /* fetch object array */
    while ($row = $result->fetch_row()) {
        $Name=$row["Name"];
        $Picture=$row["Picture"];
        $Date=$row["Date"];
        $Price=$row["Price"];

        echo "<b>$Name</b>
              <br>$Picture<br>
              <br>$Date</br>
              <br>$Price</br>";
    }

    /* free result set */
    $result->close();
}

/* close connection */
$mysqli->close();
?>

参考:http://php.net/manual/en/class.mysqli-result.php

答案 2 :(得分:-1)

您可以编辑这样的代码:

while($row = mysql_fetch_array($result))
{
  $Name = $row["Name"];
  $Picture = $row["Picture"];
  $Date = $row["Date"];
  $Price = $row["Price"];


  echo "<b>$Name</b><br>$Picture</br><br>$Date</br><br>$Price</br>";
}