所以我以为我把它弄下来了,它确保让我知道我再次搞砸了。
<?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是什么,但它显示的是自己而不是内容。有人知道我做错了什么,以至于它没有显示我在内容中的信息吗?
答案 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());