0

我正在尝试在 HTML 中获取数据库条目,但我遇到了麻烦。我试过搜索这个网站寻求帮助,但不幸的是它给了我更多的错误。特别是这个不是错误,它只是提出了错误的事情。

    <?php
        $query="SELECT * FROM maincontent";
        $result=mysql_query($query);

        echo $result;
    ?>

它给我的结果是“资源 ID #4”——我在数据库表中没有这样的条目。我不知道我做错了什么。我很确定您可以看到我是 PHP 新手,因为这一定是有史以来最简单的问题之一。

4

3 回答 3

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];
 }
于 2013-06-09T23:38:06.600 回答
1

您的代码仅查询数据库而不从数据库中获取数据。

要获取数据,您可以完成您的代码,例如:

<?php
while($rows = mysql_fetch_assoc($result)
{
   echo $rows['database_column_here'];
}
?>
于 2013-06-09T23:39:45.280 回答
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();

我希望这对您的决定有所帮助。这篇文章也会有所帮助。

于 2013-06-09T23:59:03.613 回答