从数据库回显到HTML

时间:2013-06-09 23:34:39

标签: php html5 echo

我正在尝试将数据库输入HTML,但我遇到了麻烦。我试过在这个网站上寻求帮助,但遗憾的是它给了我更多的错误。 特别是这个不是一个错误,它只是出错了。

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

        echo $result;
    ?>

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

3 个答案:

答案 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可能是首选方法
$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也会有所帮助。