ホームページ  >  記事  >  バックエンド開発  >  お聞きしてもいいですか: これら 2 つのデータベース操作ステートメントは何を意味しますか?

お聞きしてもいいですか: これら 2 つのデータベース操作ステートメントは何を意味しますか?

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

$level1=pdo_fetchall('select id from ' . tablename('shop_member') . ' where Agentid='".$member['id']."' ', 'id');

$level2=pdo_fetchall('select id from ' . tablename('shop_member') . ' where Agentid in( ' . implode(',', array_keys($level1)) . ') ', 'id') ;

最初のポイント: ステートメントの末尾に「id」が続きます。これは何を意味しますか?

2 番目のポイント: whereagentid in( ' . implode(',', array_keys($level1)) . ') '、文 'id' がわかりません

ありがとう!


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

echo $level1; echo $level2 でわかります。
$level1 は、agentid のレコードを読み取ります。
$level2 は、agentid のレコードのグループを読み取ります。

echo $level1; echo $level2;
$level1 は、agentid のレコードを読み取ります
$level2 は、agentid のレコードのグループを読み取ります



echo $level1; echo $level2; を実行すると、
$level1 はエージェント ID のレコードを読み取ることになります
$level2 はエージェント ID のレコードのグループを読み取ることになります


ID はグループ化されます

1 つは、id=xxx でレコードを読み取ることです
もう 1 つは、id=xxx、id=xxx1、または id=xxxx2 でレコードを読み取ることです。

1 つは、id=xxx でレコードを読み取ることです。
もう 1 つは、id=xxx、id=xxx1、または id=xxxx2 でレコードを読み取ることです。


$sql=$empire->query("select userid from member where Agentid='".$user[userid]."' group by userid");

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

最初のステートメントが読み取られます。 3 つの項目がありますが、2 番目の mysql ステートメントは最初の項目のデータを読み取ることができません

「select userid from member where Agentid in( ' . implode('', array_keys($sql)) . ') をエコーし​​ます。ユーザー ID ごとにグループ化した結果には、phpmyadmin で実行するとデータがありますか?

「select userid from member where Agentid in( ' . implode('', array_keys($sql)) . ') をエコーし​​ます。 group by do the results of userid" phpmyadmin


array_keys($sql) で実行するとデータが得られます。array_keys($sql) は前の mysql ステートメント クエリの結果であり、このステートメントは前のステートメント クエリに基づいてクエリされ、グループ化されます。ユーザー ID 別
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。