PhP mysql - 如何从数据库中显示记录?

时间:2015-01-04 02:05:20

标签: php mysql mysqli

这是我在这个社区的第一篇文章。我是PHP和MySQL的新手。这是我试图运行的代码。

我正在使用MAMP。我已经测试过我能够与宠物建立联系。数据库。检查了我的用户名和密码,这也是正确的。我在数据库中有数据" horse"在该领域" petType"。

下面的代码中出现了问题。我摸不着头脑,看书和网上,但无法弄清楚我做错了什么?使用下面的代码,我的网页空白。

我试图将数据库中的记录显示为第一部分,并担心以后的格式化。


<?php

$host = 'localhost';
$username = ' ';
$password = ' ';
$database = 'pet';

$conn = mysqli_connect($host, $username, $password, $database);

$query= "SELECT * FROM pet WHERE petType = 'horse'";

while($row = mysqli_fetch_array($query)):
{   
$petDescription = $query [$petDescription];
$petName = $query [$petName];
$petType = $query [$petType];

echo "$petType <br> <br> $petName <br> $petDescription";

}

?>

1 个答案:

答案 0 :(得分:3)

好的,这是破旧的。

  • 你不是在追问。这意味着您需要使用mysqli_query()函数,该函数需要成功建立DB connection并作为第一个参数传递。

  • 然后你在$row循环中分配while来获取数组,但是你正在使用$query代替预期的行来回显' d。它应该是$row而不是$query

(编辑)while($row = mysqli_fetch_array($query)):中还有一个冒号&lt; =删除它。

现在,很难确定您的表格中的实际列名称是什么,因此我只需将其替换为通用column_xcolumn_ycolumn_z现在

您可以使用表格中的内容替换它们。更多关于此的内容。

使用以下代码替换当前的代码块:

$query = mysqli_query($conn, "SELECT * FROM pet WHERE petType = 'horse'");

    while($row = mysqli_fetch_array($query))
    {   
        $petType = $row['column_x'];
        $petName = $row['column_y'];
        $petDescription = $row['column_z'];

        echo "$petType <br> <br> $petName <br> $petDescription";

    }

如果您的其他列确实称为petTypepetNamepetDescription,那么您可以将以上内容替换为:

$petType = $row['petType'];
$petName = $row['petName'];
$petDescription = $row['petDescription'];

它的工作方式是这个,我将以图形方式向您展示:

$petType = $row['petType'];
    ^        ^      ^
    |        |      | column name in table
    |        |
    |        | variable in loop
    |
    | variable to echo

但是,有些内容似乎有点不清楚,而且您的数据库和表格都保持pet的相同名称。

确保确实如此。

or die(mysqli_error($conn))添加到mysqli_query()

旁注:错误报告应仅在暂存时完成,而不是生产。


<强>脚注: