在网站上显示SQL表数据

时间:2012-07-15 01:49:40

标签: php mysql

所以我以为我把它弄下来了,它确保让我知道我再次搞砸了。

<?php
        $username="root";
        $password="**********";
        $database="website";
        $server="localhost";
        $connect=mysql_connect($server,$username,$password);
        ;
        @mysql_select_db($database) or die( "Unable to select database");
        mysql_select_db($database, $connect) or die ("Error selecting specified database on this server: ".mysql_error());
        $cdquery="SELECT content FROM homepage";
        $cdresult=mysql_query($cdquery) or die ("Query to get data from the first table failed: ".mysql_error());
        echo "<p>$cdresult</p>";

        mysql_close();
        ?>

我目前的代码是从我的表网站和列数据中显示我的信息。我不确定资源ID#4是什么,但它显示的是自己而不是内容。有人知道我做错了什么,以至于它没有显示我在内容中的信息吗?

1 个答案:

答案 0 :(得分:2)

您需要从结果资源via mysql_fetch_assoc()中获取结果。成功时,查询返回结果资源,数据库连接使用该结果资源返回假脱机结果。在获取行之前,它不包含任何行数据:

$cdresult = mysql_query($cdquery) or die ("Query to get data from the first table failed: ".mysql_error());
while ($row = mysql_fetch_array($cdresult)) {
  // The column is an array key in $row
  // Wrapped in htmlspecialchars() to escape for HTML output
  echo "<p>" . htmlspecialchars($row['cdresult']) . "</p>";
}

旧的mysql_*()函数已经开始了弃用过程,最终将从PHP中删除。建议您花一些时间学习一个支持预准备语句的现代API,例如MySQLi或PDO,而不是花太多时间学习mysql_*()函数。

还有一些提示:

您有mysql_select_db()两次来电。你只需要其中一个。避免使用@错误抑制运算符,因为它隐藏了在开发代码时需要能够看到的错误信息。

// Don't do this. Just do the next one
// @mysql_select_db($database) or die( "Unable to select database");
mysql_select_db($database, $connect) or die ("Error selecting specified database on this server: ".mysql_error());