PHP:如何从MySQL中的单行中选择单个值,而不使用数组作为结果
我是PHP新手,有一个非常基本的问题 如果我知道一个查询的结果只是MySQL中一行中的一个值(单元格)我如何简化下面的内容,而不必查看一系列结果,也不增加SQL注入的风险 在下面的例子中,我只需要回显一封电子邮件作为查询的结果 我发现有几篇文章建议使用PHP:如何从MySQL中的单行中选择单个值,而不使用数组作为结果,php,mysql,mysqli,Php,Mysql,Mysqli,我是PHP新手,有一个非常基本的问题 如果我知道一个查询的结果只是MySQL中一行中的一个值(单元格)我如何简化下面的内容,而不必查看一系列结果,也不增加SQL注入的风险 在下面的例子中,我只需要回显一封电子邮件作为查询的结果 我发现有几篇文章建议使用fetch\u field的不同方法,但我不确定这里的最佳方法是什么,因为其中一些方法似乎已经非常陈旧或不推荐了 我的PHP: $stmt = $conn->prepare("SELECT email FROM Users WHERE use
fetch\u 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"];
非常感谢。只需这样做,您就可以避免关心专栏的名称:
<?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;
谢谢。这里的结果总是必须是数组吗?我想我可以用fetch_field之类的东西来代替fetch(),这样结果就已经是一个值而不是一个数组了。没问题。啊,我明白了。检查我的编辑上面;这可能是一个很好的解决方案fetch_object()
返回一个具有字段名作为属性的对象,因此可以通过->
取消对该对象的引用,以仅获取此处的email
字段。