从mysql的不同列中选择值,我该如何判断哪个是哪个?

时间:2016-06-28 05:08:30

标签: php mysql mysqli

$sql = "SELECT email FROM users WHERE username='$user1' OR username='$user2' LIMIT 2";
$query = mysqli_query($con, $sql);
$row = mysqli_fetch_row($query);
$email1 = $row[0];
$email2 = $row[1];

只是尝试从2列中选择电子邮件并识别哪个电子邮件属于哪个用户名。 Email1 = user1和email2 = user2,是我所寻求的。

2 个答案:

答案 0 :(得分:1)

$sql = "SELECT username,email FROM users WHERE username='$user1' OR username='$user2' LIMIT 2";
$query = mysqli_query($con, $sql);
while($row = mysqli_fetch_row($query))
{
    $email[ $row[0]] = $row[1];

}
mysqli_free_result($row);

希望它会有所帮助..

预期产出

$email['user1']= email1
$email['user2']= email2

答案 1 :(得分:1)

如上所述,每行只包含一个电子邮件地址。

您最好选择一个标识用户的附加列,例如ID或用户名。

然后每一行都包含电子邮件和与该电子邮件关联的标识数据。如果匹配了多个行,则您需要获取其他行以确定该行,否则使用聚合查询。

$sql = "SELECT username,email FROM users WHERE username='$user1' OR username='$user2' LIMIT 2";
$query = mysqli_query($con, $sql);
while($row = mysqli_fetch_row($query)){
    $username = $row[0];
    $email = $row[1];
    // do some checking
}

另外,在发送...之前,请确保$ user1和$ user2的值是安全的。