当前位置:Gxlcms > PHP教程 > 多表查询碰到的难题

多表查询碰到的难题

时间:2021-07-01 10:21:17 帮助过:20人阅读

多表查询遇到的难题
要实现 一个需求:通过硬件设备向服务器发出一个请求,
请求带3个参数:
1.用户编码
2.经度
3.纬度


服务器操作:
1.通过经纬度去百度地图获取具体地理地址
2.通过用户编码进行多表查询。获取用户的手机号码。
3.通过取得的地址使用短信网关发送到查询到的手机中
4.短信网关返回发送成功则保存相关数据到mysql



现在问题出在多表查询没有返回手机号码。但是在操作面板则能查询到。是什么问题

流程图:


php代码:
    include_once "config.php";
header("Content-type: text/html; charset=utf8");
$mysql=mysqli_connect($db_host,$db_user,$db_password,$db_name);
mysql_select_db($db_name,$mysql);
mysql_query("SET NAMES 'utf8'");
mysql_query("set character_set_client='utf8'");
mysql_query("set character_results='utf8'");
mysql_query("set collation_connection='utf8'");
$user=$_GET['user'];
$lat=$_GET['lat'];
$lng=$_GET['lng'];

//获取地理地址
date_default_timezone_set('PRC');
$into_time=Date("Y-m-d H:i:s");
$url="http://api.map.baidu.com/geocoder/v2/?ak=E6f2d2e9e662917d0e6eee74ced3db24&callback=renderReverse&location=".$lat.",".$lng."&output=json&pois=1";



$json=file_get_contents($url);
$xjson = substr($json,29,-1);
$point = $lat.'_'.$lng;
$data=json_decode($xjson,true);
$dress = $data['result']['formatted_address'];
file_put_contents("localjson.txt",$data.'--dress--'.$dress);

// $g="select akw_user.mobile from akw_user where akw_user.id in (select user_group.userid from user_group where user_group.sqlid='".$user."')";
//多表查询
$g="select akw_user.mobile from akw_user where akw_user.id in (select user_group.userid from user_group where user_group.sqlid = '".$user."')";
$ids= mysql_query($g);
[email protected]_fetch_assoc($ids);
$f=$n['id'];
echo '--f--'.$f.'--g--'.$g;
?>

------解决思路----------------------
晕死,我是让你修改SQL语句,增加对id字段引用:
Quote: 引用:

$g="select akw_user.mobile from akw_user where akw_user.id in (select user_group.userid from user_group where user_group.sqlid = '".$user."')";
$ids= mysql_query($g);
[email protected]_fetch_assoc($ids);
$f=$n['id'];


你的SQL查询里面仅仅获取了mobile 字段,但是你$f=$n['id'],貌似很不合理啊,获取一个没有select的字段,臣妾做不到啊

新增后提示出错:
select akw_user.mobile from akw_user where akw_user.id in (select user_group.userid from user_group where user_group.sqlid = '1409203388')
Access denied for user 'root'@'localhost' (using password: NO)

------解决思路----------------------

$g="select akw_user.mobile,akw_user.id from akw_user where akw_user.id in (select user_group.userid from user_group where user_group.sqlid = '".$user."')";
$ids= mysql_query($g);
[email protected]_fetch_assoc($ids);
$f=$n['id'];


改这样试试。
------解决思路----------------------
我的#15 就被你忽视了
------解决思路----------------------
mysqliiiiiii_connect
mysql_query
说来惭愧一直用框架,加了i的能通用吗
------解决思路----------------------
把你修改后的代码贴出来看看。

人气教程排行