PHP:如何在MySQL中从单行中选择单个值而不使用数组作为结果

时间:2015-07-12 09:07:02

标签: php mysql mysqli

我是PHP新手,有一个非常基本的问题。

如果我知道查询的结果只是来自MySQL中单行的单个值(单元格)我如何简化以下内容而无需通过一系列结果并且不增加SQL注入的风险?

在下面的示例中,我只需要回显一封电子邮件作为查询的结果。

我发现了一些帖子,建议使用fetch_field的不同方法,但我不确定这里最好的方法是什么,因为其中一些似乎很旧或现已弃用。

我的PHP:

$stmt = $conn->prepare("SELECT email FROM Users WHERE userName = ? LIMIT 1");
$stmt->bind_param('s', $userName);
$stmt->execute();
$result = $stmt->get_result();
$arr = $result->fetch_assoc();
echo $arr["email"];

非常感谢提前。

1 个答案:

答案 0 :(得分:5)

只需执行以下操作即可避免关注列的调用:

<?php
$stmt = $conn->prepare("SELECT email FROM Users WHERE userName = ? LIMIT 1");
$stmt->bind_param('s', $userName);
$stmt->execute();

$email = $stmt->get_result()->fetch_object()->email;
echo $email;