mysqli bind_result并获取到PDO PostgreSQL



我正在尝试使用PostgreSQL将我的mysqli转换为PDO,我想知道在PDO

中编写以下代码的等效方式是什么
$result = $mysqli->prepare("SELECT FOUND_ROWS()");
$result->execute();
$result->bind_result($total_rows);
$result->fetch();

我尝试的是:

$stmt = $this->pdo->prepare('SELECT FOUND_ROWS()');
$stmt->execute();

但我不确定如何将my_sqli逻辑的其余部分转换为我的新PostgreSQL PDO,特别是$result->bind_result($total_rows);fetch()

PDO没有任何等同于bind_result()的东西。PDOStatement::fetch()将行作为数组或对象返回,然后从中提取结果列。所以不用

$result->bind_result($total_rows);
$result->fetch();
echo $total_rows;

您使用

$row = $stmt->fetch(PDO::FETCH_NUM);
echo $row[0];

如果您为所选的列分配别名,则通常更容易,然后您可以获取关联数组。

$stmt = $this->pdo->prepare('SELECT FOUND_ROWS() AS total_rows');
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
echo $row['total_rows'];

最新更新