为什么php循环创建的第一个表单不起作用?

为什么php循环创建的第一个表单不起作用?,php,html,while-loop,Php,Html,While Loop,我有一个由php循环在表中生成的表单。除了生成的第一个表单外,该表单工作正常。我似乎不明白为什么。这是我的密码,我是不是错过了一个结束 while($row = mysql_fetch_array($result)) { $msisdn = $row['msisdn']; $messageid = $row['messageid']; echo "<tr>"; echo "<td style='width:70

我有一个由php循环在表中生成的表单。除了生成的第一个表单外,该表单工作正常。我似乎不明白为什么。这是我的密码,我是不是错过了一个结束

    while($row = mysql_fetch_array($result))
      {
      $msisdn = $row['msisdn'];
      $messageid = $row['messageid'];
      echo "<tr>";
      echo "<td style='width:70px;'><center>" . $row['message-timestamp'] . "</td>";
      echo "<td><center>" . $row['terpname'] . "</td>";
      echo "<td>";
      echo "<div class='layer1'>
            <p class='heading'><B><U><font size='2' color='blue'>Reply</font></u></b> </p>
            <div class='content'>
            <fieldset >
            <form name='reply' method='post' action='reply.php'>
            <textarea rows='4' cols='50' name='response' value=''></textarea>
            <input type='hidden' name='phonenumber' value='$msisdn' /><BR>
            <input type='hidden' name='messageid' value='$messageid' /><BR>
            <input type='submit' name='search' class='btn btn-info btn-large'  value='Send' />
            </form>
            </fieldset>
            </div>
            </div>
            ";
      echo "-->" . $row['text'];
      //Select responses to this text message
      $sqlselect = "SELECT * FROM li_appointments.li_outbound_sms
            where messageid = '" . $row['messageid'] . "';";
      $subresult = mysql_query($sqlselect);

      //Loop through results and display them
      while($row = mysql_fetch_array($subresult))
            {
            echo "<BR><--" . $row['sender'] . "(" . $row['datetime'] . "): " . $row['message'];
            }
      echo "</td>";     
      echo "<td style='width:10px;'><center><input type='checkbox' class='db'          onclick='resetSelectAlldb();'name='database[]', value='$messageid'></center></td>";
      echo "</tr>";
      }
while($row=mysql\u fetch\u array($result))
{
$msisdn=$row['msisdn'];
$messageid=$row['messageid'];
回声“;
回显“$row['message-timestamp']”;
回显“$row['terpname']”;
回声“;
回声“

答复



"; echo“-->”$row['text']; //选择对此文本消息的响应 $sqlselect=“从li\u约会中选择*li\u出站\u短信 其中messageid='””$row['messageid']。“;”; $subresult=mysql\u查询($sqlselect); //循环浏览结果并显示它们 while($row=mysql\u fetch\u数组($subresult)) {
echo“
您应该使用prepare语句,但无论如何,您不能在同一个函数中使用$row两次

   while($row = mysql_fetch_array($result))
  {
  $msisdn = $row['msisdn'];
  $messageid = $row['messageid'];
  echo "<tr>";
  echo "<td style='width:70px;'><center>" . $row['message-timestamp'] . "</td>";
  echo "<td><center>" . $row['terpname'] . "</td>";
  echo "<td>";
  echo "<div class='layer1'>
        <p class='heading'><B><U><font size='2' color='blue'>Reply</font></u></b> </p>
        <div class='content'>
        <fieldset >
        <form name='reply' method='post' action='reply.php'>
        <textarea rows='4' cols='50' name='response' value=''></textarea>
        <input type='hidden' name='phonenumber' value='$msisdn' /><BR>
        <input type='hidden' name='messageid' value='$messageid' /><BR>
        <input type='submit' name='search' class='btn btn-info btn-large'  value='Send' />
        </form>
        </fieldset>
        </div>
        </div>
        ";
  echo "-->" . $row['text'];
  //Select responses to this text message
  $sqlselect = "SELECT * FROM li_appointments.li_outbound_sms
        where messageid = '" . $row['messageid'] . "';";
  $subresult = mysql_query($sqlselect);

  //Loop through results and display them
  while($row2 = mysql_fetch_array($subresult))
        {
        echo "<BR><--" . $row2['sender'] . "(" . $row2['datetime'] . "): " . $row2['message'];
        }
  echo "</td>";     
  echo "<td style='width:10px;'><center><input type='checkbox' class='db'          onclick='resetSelectAlldb();'name='database[]', value='$messageid'></center></td>";
  echo "</tr>";
  }
while($row=mysql\u fetch\u array($result))
{
$msisdn=$row['msisdn'];
$messageid=$row['messageid'];
回声“;
回显“$row['message-timestamp']”;
回显“$row['terpname']”;
回声“;
回声“

答复



"; echo“-->”$row['text']; //选择对此文本消息的响应 $sqlselect=“从li\u约会中选择*li\u出站\u短信 其中messageid='””$row['messageid']。“;”; $subresult=mysql\u查询($sqlselect); //循环浏览结果并显示它们 while($row2=mysql\u fetch\u数组($subresult)) {
回声“
您在两个循环中都分配了$row。来自$subresult的一个重写了来自$result的一个。我想,您只需要为这两行使用不同的变量名。如果您至少使用php pdo@PedroVentura,这将是一个更好的代码,他肯定应该使用预处理语句,因为这些mysql函数现在已经不推荐使用了。我知道我需要更新到PDO,这是为未来的项目计划的。至于$row问题,这是一个很好的捕获,但没有解决我的问题。