更新 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 循环。

原问题:

我有以下脚本,由于“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):
$id = 4;
$stmt = $dbh->prepare("SELECT name FROM mytable WHERE id=? LIMIT 1");
$stmt->execute([$id]);
$row = $stmt->fetch();

关于PHP PDO 返回单行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5456626/

10-14 14:46