ホームページ  >  記事  >  バックエンド開発  >  mysql ステートメントが配列を受け取れないのはなぜですか?

mysql ステートメントが配列を受け取れないのはなぜですか?

WBOY
WBOYオリジナル
2016-06-20 12:35:38997ブラウズ

$sql=$empire->query("select userid,agentid,username from member whereagentid='".$user[userid]."' group by userid");
while( $r=$empire->fetch($sql))/*結果セット内のレコードを行ごとに取得し、配列の行を取得します*/
{
🎜> }

echo '

';<br>print_r($array);//配列の出力に問題はありません。出力されるのは配列です<br>echo '
';

上記でクエリした $array 配列を次の mysql ステートメントに渡したいのですが、どのように処理すればよいでしょうか?ユーザー ID によるグループが分類に使用され、次の mysql ステートメントでデータベースに再度クエリが実行され、上で分類された結果に基づいて分類されます。

$sql2=$empire->query("select userid,agentid,username from member where Agentid in( ' . implode('', array_keys($array)) . ') group by userid") ;


ディスカッションへの返信 (解決策)

$array の 2 次元配列

array_keys($array) は、$array の最初の次元の添字のみを取得します (0,1,2,3....)

$ array 二次元配列

array_keys($array) $array の最初の次元の添字のみを取得します (0,1,2,3....)
このステートメントはどのように書けばよいでしょうか?

while ループにはデータがありますが、最初のステートメントの $array にはデータがありません。
何がしたいですか?

このようなコードを作成しても機能しません

一体何がしたいのですか?

このようにコードをまとめるのは不可能です

これは 2 番目のクエリの連結されたステートメントなので、まとめてクエリできるようにしたいのですが、
select userid from member where エージェント ID IN (select userid from member whereagentid='$user[userid]' group by userid) group by userid

2 番目のクエリの結果は、最初のクエリの分類に基づいています。このようにステートメントを記述できますが、3 番目のクエリはどのくらいの長さになるでしょうか?

3 番目のクエリの結果は 2 番目のクエリに従って分類されます


完了しました。

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