使用 PDO 获取单行、单列

2022-08-30 16:03:11

我有一个mysql查询,它以单行中的单个列为目标

"SELECT some_col_name FROM table_name WHERE user=:user"

执行语句后,如何将此单个单元格直接放入没有循环的变量中?换句话说,如何获得$stmt->execute();

from $stmt->execute();

to $col_value = 100;

我尝试了下面的2,但都没有奏效。该列在原始表中是数字4,但我假设由于在我的select语句中我只选择它,因此当我为fetchColumn指定参数时,它应该是1。

$col_value = $stmt->fetchColumn();
$col_value = $stmt->fetchColumn(0);

正如你所看到的,我试图用尽可能少的行来做到这一点。


答案 1

是否确实它返回了任何行?

$stmt->fetchColumn()

是获取单个值的正确方法,因此您可能没有绑定 :user 参数,或者它只是不返回任何行。


答案 2
$sql='SELECT some_col_name FROM table_name WHERE user=?';

$sth=$pdo_dbh->prepare($sql);
$data=array($user);

$sth->execute($data);

$result=$sth->fetchColumn();

推荐