我无法显示表格中的所有内容,只显示最后一条记录

0 php mysql

嘿伙计我很难从mysql中的表中打印所有内容.它只打印表的最后一条记录.先感谢您.

这是我的语法:

//query
$search_query="SELECT offer_no,day,time from offer where subject_id = '"              .$search_subject_id ."';";  

//execution of query    
$result = mysql_query($search_query,$dbhandle); 

//fetching result
while ($row = mysql_fetch_array($result)) {
      $results =$row['offer_no'] . "     " .$row['day']. "     " .$row['time'];
 }
Run Code Online (Sandbox Code Playgroud)

输出:

1001 MWF 7:00-8:00

预期产出:

1001 MWF 7:00-8:00, 1002 MWF 8:00-9:00

小智 7

您需要使用串联或数组,因为$results将在每个循环上重置并最终获取最后的结果:

阵:

  $results[] =$row['offer_no'] . "     " .$row['day']. "     " .$row['time'];
Run Code Online (Sandbox Code Playgroud)

要么:

  $results .=$row['offer_no'] . "     " .$row['day']. "     " .$row['time'];
Run Code Online (Sandbox Code Playgroud)

请注意:不推荐使用mysql_*函数,可以切换到mysqli和PDO并使用参数化查询来防止SQL注入攻击.

  • @ErnestFaytone当你在`$ results`上使用`.=`而没有先定义它时,你会注意到.在进行连接之前,只需定义`$ results`即可.第二个变量`$ results_info`不在任何代码中. (2认同)