ホームページ  >  記事  >  バックエンド開発  >  複数テーブルのクエリで発生する問題

複数テーブルのクエリで発生する問題

WBOY
WBOYオリジナル
2016-06-13 12:10:471081ブラウズ

マルチテーブルクエリで発生する問題
要件を達成するには: ハードウェアデバイスを介してサーバーにリクエストを送信します。
リクエストには 3 つのパラメータが必要です:
1. ユーザーコード2 .経度
3. 緯度

サーバー操作:

1. 経度と緯度から特定の地理的住所を取得します。 2. ユーザーコーディングを通じて複数テーブルクエリを実行します。ユーザーの携帯電話番号を取得します。
3. SMS ゲートウェイを使用して、取得したアドレスをクエリされた携帯電話に送信します
4. SMS ゲートウェイが成功メッセージを返すと、関連するデータが 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: 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 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 はあなたに無視されました

------ソリューションのアイデア----------------------
mysqliiiiii
_connect
mysql_queryずっとこのフレームワークを使ってきたことを恥ずかしく思います。i を追加して汎用的に使用できますか?
-----解決策のアイデア---------- ---- --------修正したコードを投稿して見てください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。