Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在同一语句中从2个MySQL表中选择_Php_Mysql - Fatal编程技术网

Php 在同一语句中从2个MySQL表中选择

Php 在同一语句中从2个MySQL表中选择,php,mysql,Php,Mysql,我需要从一个MySQL表中选择数据并匹配查询中的ID,以从第二个表中获取电子邮件地址。然后输出结果。我目前的代码是: $sql = "SELECT fk_i_user_id, i_amount FROM osei_t_payment_pro_wallet WHERE i_amount > 0 order by i_amount DESC"; $rows = mysqli_query($conn, $sql); while ($rs = mysqli_fetch_arr

我需要从一个MySQL表中选择数据并匹配查询中的ID,以从第二个表中获取电子邮件地址。然后输出结果。我目前的代码是:

$sql = "SELECT fk_i_user_id, i_amount FROM osei_t_payment_pro_wallet
        WHERE i_amount > 0 order by i_amount  DESC";

$rows = mysqli_query($conn, $sql);

while ($rs = mysqli_fetch_array($rows, MYSQLI_ASSOC)){
    $uid = $rs["fk_i_user_id"];
    $cash = $rs["i_amount"] / 1000000;
    echo "User ID - ".$uid." Wallet Val - ".$cash.chr(10).chr(13);
}
我想在这个查询中包括:

"SELECT s_email FROM osei_t_user where pk_i_id =".$uid;
并输出结果:

echo "User ID - ".$uid." Wallet Val - ".$cash." - Email: ".(value from above query).chr(10).chr(13);

您可以使用连接。如果第二个表的记录可能不存在,请使用外部联接:

SELECT fk_i_user_id,i_amount, s_email 
FROM osei_t_payment_pro_wallet 
LEFT OUTER JOIN osei_t_user ON pk_i_id=fk_i_user_id
WHERE i_amount > 0 order by i_amount DESC
外部联接选择与ON子句匹配的记录,但如果父表(osei\u t\u payment\u pro\u wallet)没有匹配的记录,则这些字段将为空

更新的输出(来自OP):

尽管我会这样写:

echo "User ID - {$uid} Wallet Val - {$cash} Email - {$email}\n\r";
您也可以直接使用结果:

echo "User ID - {$rs["fk_i_user_id"]} Wallet Val - {$cash} Email - {$rs["s_email"]}\n\r";

$cash
仍需计算。

添加:$email=$rs[“s_email”];echo“用户ID-”$uid。“钱包Val-”$cash。“电子邮件-”$Email.chr(10.chr(13))$电子邮件总是返回空。我在代码中没有看到问题-两个表之间的键匹配吗?抱歉,错误在我这边。。。。剪切粘贴失败:)谢谢,效果很好!
echo "User ID - {$rs["fk_i_user_id"]} Wallet Val - {$cash} Email - {$rs["s_email"]}\n\r";