首頁 > 後端開發 > php教程 > 多表查询碰到的难题

多表查询碰到的难题

WBOY
發布: 2016-06-13 12:10:47
原創
1101 人瀏覽過

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


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



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

流程图:


php代码:

<?php<br />    include_once "config.php";<br />    header("Content-type: text/html; charset=utf8");<br />    $mysql=mysqli_connect($db_host,$db_user,$db_password,$db_name);<br />    mysql_select_db($db_name,$mysql);<br />    mysql_query("SET NAMES 'utf8'");<br />    mysql_query("set character_set_client='utf8'");<br />    mysql_query("set character_results='utf8'");<br />    mysql_query("set collation_connection='utf8'");<br />	$user=$_GET['user'];<br />	$lat=$_GET['lat'];<br />    $lng=$_GET['lng'];<br /><br />    //获取地理地址<br />    date_default_timezone_set('PRC');<br />    $into_time=Date("Y-m-d H:i:s");<br />    $url="http://api.map.baidu.com/geocoder/v2/?ak=E6f2d2e9e662917d0e6eee74ced3db24&callback=renderReverse&location=".$lat.",".$lng."&output=json&pois=1";<br /><br /><br /><br />    $json=file_get_contents($url);<br />    $xjson = substr($json,29,-1);<br />    $point = $lat.'_'.$lng;<br />    $data=json_decode($xjson,true);<br />    $dress = $data['result']['formatted_address'];<br />    file_put_contents("localjson.txt",$data.'--dress--'.$dress);<br /><br />//    $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."')";<br />    //多表查询<br />    $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."')";<br />    $ids= mysql_query($g);<br />    [email&#160;protected]_fetch_assoc($ids);<br />    $f=$n['id'];<br />    echo '--f--'.$f.'--g--'.$g;<br />?>
登入後複製

------解决思路----------------------
晕死,我是让你修改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."')";<br />    $ids= mysql_query($g);<br />    [email&#160;protected]_fetch_assoc($ids);<br />    $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')<br />Access denied for user 'root'@'localhost' (using password: NO)
登入後複製

------解决思路----------------------
<br />$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."')";<br />    $ids= mysql_query($g);<br />    [email&#160;protected]_fetch_assoc($ids);<br />    $f=$n['id'];<br />
登入後複製


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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板