php PDO 浮点数返回,PHP PDO返回单行

这篇博客探讨了如何优化PDO查询,特别是当预期只从数据库中获取一行数据时。通过使用`LIMIT 1`和`fetch()`方法,可以避免不必要的`foreach`循环,提高效率。示例代码展示了如何结合`ORDER BY`和`LIMIT`来确保获取特定条件下的唯一行,并提到了使用`fetchColumn()`进一步简化代码的可能性。
摘要由CSDN通过智能技术生成

PHP PDO返回单行

更新2:

那么这是它可以得到的最优化?

$DBH = new PDO( "connection string goes here" ); $STH = $DBH -> prepare( "select figure from table1" ); $STH -> execute(); $result = $STH -> fetch(); echo $result ["figure"]; $DBH = null;

更新1:

我知道我可以添加限制到SQL查询,但我也想摆脱foreach循环,我不应该需要。

原文问题:

我有以下的脚本,这是很好的IMO由于“foreach”部分返回从数据库中的许多行。

我如何优化这个,如果我知道我总是只能从数据库中获得1行。 如果我知道我只会从数据库中得到1行,我不明白为什么我需要foreach循环,但我不知道如何更改代码。

$DBH = new PDO( "connection string goes here" ); $STH = $DBH -> prepare( "select figure from table1" ); $STH -> execute(); $result = $STH -> fetchAll(); foreach( $result as $row ) { echo $row["figure"]; } $DBH = null;

只要取。 只获得一行。 所以没有foreach循环需要:D

$row = $STH -> fetch();

示例(ty northkildonan):

$dbh = new PDO(" --- connection string --- "); $stmt = $dbh->prepare("SELECT name FROM mytable WHERE id=4 LIMIT 1"); $stmt->execute(); $row = $stmt->fetch();

$DBH = new PDO( "connection string goes here" ); $STH - $DBH -> prepare( "select figure from table1 ORDER BY x LIMIT 1" ); $STH -> execute(); $result = $STH -> fetch(); echo $result ["figure"]; $DBH = null;

你可以一起使用fetch和LIMIT。 LIMIT的作用是数据库只返回一个条目,所以PHP必须处理的数据非常less。 通过读取,您可以从数据库响应中获得第一个(也是唯一的)结果条目。

注意ORDER子句。 使用ORDER或WHERE获取所需的行。 否则,你会得到表中的第一行。

你试过了吗:

$DBH = new PDO( "connection string goes here" ); $row = $DBH->query( "select figure from table1" )->fetch(); echo $row["figure"]; $DBH = null;

您可以尝试使用基于用户input使用PDO的数据库SELECT查询:

$param = $_GET['username']; $query=$dbh->prepare("SELECT secret FROM users WHERE username=:param"); $query->bindParam(':param', $param); $query->execute(); $result = $query -> fetch(); print_r($result);

如何使用limit 0,1为MySQL优化

和你的代码:

$DBH = new PDO( "connection string goes here" ); $STH - $DBH -> prepare( "select figure from table1" ); $STH -> execute(); $result = $STH ->fetch(PDO::FETCH_ASSOC) echo $result["figure"]; $DBH = null;

感谢Steven的build议,使用fetchColumn,这是我的build议,从您的代码中缩短1行。

$DBH = new PDO( "connection string goes here" ); $STH - $DBH -> query( "select figure from table1" ); $result = $STH -> fetchColumn(); echo $result; $DBH = null;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值