PHP echo语句滥用对前台从后台获取数据的影响
上周在写程序的时候遇到一个bug,多方调试之后,发现竟然是几条小小的echo 语句造成的,今天在这里做一点记录。
首先简要介绍一下我的程序的结构以及要实现的功能:
简而言之,该程序主要功能是实现将已知地址经纬度的某个点在地图上在地图上显示出来,程序主要分为三个模块:分别是 前端(html+css+js)、后台(php)、数据库(mysql),三模块分别实现下列功能,
数据库:存储某个地点的经纬度信息(因为所做项目要求显示的是公司某个硬件设备的所在地,所以,我称之为——设备地址);
后台:本后台实现的功能主要是通过sql语句查询到数据库里满足条件的设备的地址信息(经纬度),然后将这些地址信息以json格式输出,让前端页面可以通过ajax方式获取到;
//后台代码:
<?php
session_start();
//查找数据库
header ( "Content-type:text/html;charset=utf-8" );
include "conn.php";
mysql_query("set names utf8");
//读取旧信息
$startTime = date("Y-m-d H:i:s", strtotime('-300 minutes', time()));
$UserName = $_SESSION['UserName'];
//echo $UserName ;
//$UserName = 'wld';
$sql = "select * from user_device where UserName='".$UserName."' and UseFlag=1";
$result_set = mysql_query($sql);
$snstr=0;
$longstr=0;
$lastr=0;
$statusstr=0;
while($row=mysql_fetch_array($result_set)){
$sql = "select * from device where SN='".$row['SN']."'";
$res = mysql_query($sql);
$result=mysql_fetch_assoc($res);
/在线监测/
$sql_queryt="SELECT * FROM device_online_list WHERE SN='".$SN."' order by Time desc limit 1";
$result_sett=mysql_query($sql_queryt);
$resultt=mysql_fetch_assoc($result_sett);
if($result_sett)
{
if(strtotime($startTime)<strtotime($resultt['Time']))
{
$runstr=1;
}
else $runstr=0;
}else $runstr=0;
///
if($snstr){
$snstr=$snstr.'_';
$snstr=$snstr.$row['SN'];
$longstr=$longstr.'_';
$longstr=$longstr.$result[Longtitude];
$lastr=$lastr.'_';
$lastr=$lastr.$result[Latitude];
$statusstr&#