Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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 从while循环创建单个变量_Php_Mysql - Fatal编程技术网

Php 从while循环创建单个变量

Php 从while循环创建单个变量,php,mysql,Php,Mysql,我试图将while循环放入一个变量中,我可以将其用作一个回音。发生的情况是,循环仅显示第一条记录 所有db连接均已就位并已连接。如果有人能指出我的错误,我将不胜感激。非常感谢 if (mysql_num_rows($result1) >0) { $msgread = ""; while($row = mysql_fetch_array($result1)) { $msgread = "<FONT COLOR='1d99f0'>" . "<

我试图将while循环放入一个变量中,我可以将其用作一个回音。发生的情况是,循环仅显示第一条记录

所有db连接均已就位并已连接。如果有人能指出我的错误,我将不胜感激。非常感谢

if (mysql_num_rows($result1) >0) {
    $msgread = "";
    while($row = mysql_fetch_array($result1)) { 
        $msgread = "<FONT COLOR='1d99f0'>" . "<b>" . $row['to_user'] . "</b>" . "</font>";
        $msgread .= "<p />";
        $msgread .= date("d/m/Y");
        $msgread .= "<p />";
        $msgread .= $row['message'];
        $msgread .= "<p />";
        $msgread .= $row['from_user'];
    }

    $error1 = false;
}

if($error1 == 0)  {     
    echo $msgread;               
}
if(mysql\u num\u行($result1)>0){
$msgread=“”;
而($row=mysql\u fetch\u数组($result1)){
$msgread=“”。$row['to_user']。“”;
$msgread.=“

”; $msgread.=日期(“日期”); $msgread.=“

”; $msgread.=$row['message']; $msgread.=“

”; $msgread.=$row['from_user']; } $error1=错误; } 如果($error1==0){ echo$msgread; }


您在每个循环中都要覆盖它,它应该是
=

$msgread = "";

while($row = mysql_fetch_array($result1)) {

   $msgread = "<FONT COLOR='1d99f0'>" . "<b>" . $row['to_user'] . "</b>" . "</font>";
            ^^ it gets overwritten each loop
$msgread=”“;
而($row=mysql\u fetch\u数组($result1)){
$msgread=“”。$row['to_user']。“”;
^^它会在每个循环中被覆盖
应该是:

if (mysql_num_rows($result1) >0) {

    $msgread = ""; // initialize

    while($row = mysql_fetch_assoc($result1)) {

        $msgread .= "<FONT COLOR='1d99f0'><b>" . $row['to_user'] . "</b></font>";
              // ^ concatenation
        $msgread .= "<p>" . date("d/m/Y") . '</p>';
        $msgread .= "<p>" . $row['message'] . '</p>';
        $msgread .= "<p>" . $row['from_user'] . '</p>';           
    }

    echo $msgread; // then echo

}
if(mysql\u num\u行($result1)>0){
$msgread=”“;//初始化
而($row=mysql\u fetch\u assoc($result1)){
$msgread.=''.$row['to_user']。'';
//^串联
$msgread.=“”.date(“d/m/Y”)。

”; $msgread.=“”$row['message'].

”; $msgread.=“”$row[“来自用户”]。

”; } echo$msgread;//然后是echo }
在while循环的第一行中使用

$msgread.=”.“.$row['to_user'.]”;

您在
$msgread=“.$row['to_user'.]”这一行中错过了


它将是
$msgread.=''.$row['to_user'.'';

您在msgread属性的末尾有一个右括号。在这里识别很重要,不要回避它。可能是这样吗?您的DB查询返回的记录是否超过1条?您可以将它们存储在数组中,然后运行foreach循环?如果它的okdb查询返回所有记录。您有示例arif吗。谢谢您显示您想要的格式吗?