我正在尝试将数据库输入HTML,但我遇到了麻烦。我试过在这个网站上寻求帮助,但遗憾的是它给了我更多的错误。 特别是这个不是一个错误,它只是出错了。
<?php
$query="SELECT * FROM maincontent";
$result=mysql_query($query);
echo $result;
?>
它给我的结果是“资源ID#4” - 我在数据库表中没有这样的条目。 我不知道我做错了什么。 我很确定你可以看到我是PHP新手,因为这一直是最简单的问题之一。
答案 0 :(得分:6)
你需要获取数组并循环遍历它......
$query="SELECT * FROM maincontent";
$result=mysql_query($query);
while($row = mysql_fetch_array($result)){
echo $row[0];
}
但你真的不应该使用已弃用的mysql_ *函数,而是使用PDO ... http://php.net/manual/en/book.pdo.php
这是PDO ......未来你应该学习并使用PDO。
//Your connection data...
$conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb);
// Define and perform the SQL SELECT query
$sql = "SELECT * FROM maincontent";
$result = $conn->query($sql);
// Parse returned data, and display them
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo $row[0];
}
答案 1 :(得分:1)
您的代码仅查询数据库而不从数据库中获取数据。
要获取数据,您可以完成以下代码:
<?php
while($rows = mysql_fetch_assoc($result)
{
echo $rows['database_column_here'];
}
?>
答案 2 :(得分:0)
有些人已经在您的代码中指出了错误并提供了一个PDO示例,以及您应该停止使用mysql_*
函数的原因。出于这些原因,我想补充一点,你更容易受到mysql注入的攻击,而且,我想发布代码来对mysqli做同样的事情。虽然使用PDO可以提供更大的灵活性,但如果您需要快速切换mysql_*
$mysqli = new mysqli("localhost", "my_user", "my_password", "database");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
$result = $mysqli->query("SELECT * FROM maincontent");
while ($row = $result->fetch_assoc())
printf ("%s \n", $row["COLUMN_NAME"]);
$result->free();
$mysqli->close();
我希望这可能对你的决定有所帮助。 This article也会有所帮助。