Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库加载消息_Php_Mysql - Fatal编程技术网

Php 从数据库加载消息

Php 从数据库加载消息,php,mysql,Php,Mysql,我对编程有点陌生,根据我的基本知识,我试图创建一个页面来显示保存在数据库中的消息。(我已经做了,这样信息就可以放进去了) 我知道如何在页面上显示一条消息,但这是数据库中的第一条消息 如何使它不仅显示一条消息,而且显示所有消息 这是到目前为止我的代码 <?php $host = "localhost"; $user = "root"; $pwd = ""; $db_name = "berichten"; mysql_connect($host, $user, $pwd)or die("ca

我对编程有点陌生,根据我的基本知识,我试图创建一个页面来显示保存在数据库中的消息。(我已经做了,这样信息就可以放进去了)

我知道如何在页面上显示一条消息,但这是数据库中的第一条消息

如何使它不仅显示一条消息,而且显示所有消息

这是到目前为止我的代码

<?php
$host = "localhost";
$user = "root";
$pwd = "";
$db_name = "berichten";

mysql_connect($host, $user, $pwd)or die("cannot connect"); 
mysql_select_db($db_name)or die("cannot select DB");

$sql = mysql_query("SELECT * FROM messages ORDER BY id ASC");
$id = 'id';
$name = 'naam';
$email = 'email';
$onderwerp = 'onderwerp';
$bericht = 'bericht';
$rows = mysql_fetch_assoc($sql);

echo 'name: '. $rows[$name] . '</br>' . 'e-mail: '. $rows[$email] . '</br>' . 'onderwerp: ' . $rows[$onderwerp] . '</br>' . 'bericht: ' . $rows[$bericht];

您只需将mysql_fetch_assoc封装在while循环中,即可迭代整个结果集。像这样:

$sql = 'SELECT * FROM messages ORDER BY id ASC';
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
    echo $row["name"];
    echo $row["e-mail"];
    echo $row["onderwerp"];
    echo $row["bericht"];
}
更改此行:

$rows = mysql_fetch_assoc($sql);
为此:

while ($row = mysql_fetch_assoc($sql))
{
    echo 'name: '. $rows[$name] . '</br>' . 'e-mail: '. $rows[$email] . '</br>' . 'onderwerp: ' . $rows[$onderwerp] . '</br>' . 'bericht: ' . $rows[$bericht];
}
while($row=mysql\u fetch\u assoc($sql))
{
回显“名称:”.$rows[$name]。
”.“电子邮件:”.$rows[$email]。
“.$onderwerp:”.$rows[$onderwerp]。
”.“bericht:”.$rows[$bericht]; }
但是,请注意,MySQL扩展已弃用,最好使用新的MySQLi扩展

您可以在此处阅读:


或者,您可以使用PDO:

您可以使用PHP文档中的
mysql\u fetch\u array
mysql\u fetch\u assoc
。这是解释那里的例子


另外,请避免使用
mysql
函数,因为它们已被弃用。而是使用
PDO
mysqli

一个简单的循环结构,用作每个php/mysql代码的基础;)

while($rows=mysql\u fetch\u assoc($sql)){
回显“名称:”.$rows[$name]。
'.“电子邮件:”.$rows[$email] }
通过执行以下操作:

        $sql = mysql_query("SELECT * FROM messages ORDER BY id ASC");
实际上,您已经将数据库中的所有行放入了名为
$sql
的变量中,该变量是一个行数组。由于每行有多个项,因此该行也可以被视为数组。因此,
$sql是一个数组数组

因此,您需要迭代这个名为$sql的小数组,如下所示:

    while($each = mysql_fetch_assoc($sql)){
       // $each is a cursor, and loops over all the elements of the $sql sequentially.

    echo 'name: '. $each[$name] . '</br>' . 'e-mail: '. $each[$email] . '</br>' 
    . 'onderwerp: ' . $each[$onderwerp] . '</br>' . 'bericht: ' . $each[$bericht];

}
while($each=mysql\u fetch\u assoc($sql)){
//$each是一个游标,并按顺序在$sql的所有元素上循环。
回显“姓名:”.$each[$name]。
.“电子邮件:”.$each[$email]。
' “onderwerp:”.$each[$onderwerp]。
”.“bericht:”.$each[$bericht]; }
while($rows=mysql\u fetch\u assoc($sql){}
立即退出mysql扩展。使用mysqli或PDO。从PHP 5.5.0开始,此扩展已被弃用,将来将被删除。编辑建议:添加指向的链接和其他建议:使用PDO或mysqli
    while($each = mysql_fetch_assoc($sql)){
       // $each is a cursor, and loops over all the elements of the $sql sequentially.

    echo 'name: '. $each[$name] . '</br>' . 'e-mail: '. $each[$email] . '</br>' 
    . 'onderwerp: ' . $each[$onderwerp] . '</br>' . 'bericht: ' . $each[$bericht];

}