2017-08-08 50 views
0

为什么fetchColumn()在数据库中实际存在两列符合这些条件时会返回“1”?为什么fetchColumn()在有2列时返回1?

如果数据库中有1条记录匹配,它将返回false? (我以前做$num_of_rows = $stmt->num_rows()它完美地工作)

$follower = 1; 
$following = 1; 

$stmt = $dbCon->prepare(" SELECT login_followers_status " 
     . " FROM login_followers " 
     . " WHERE login_followers_follower = ? " 
     . " AND login_followers_following = ? "); 
$stmt->bindParam(1, $follower); 
$stmt->bindParam(2, $following); 
$stmt->execute(); 
$row = $stmt->fetch(); 
$status = $row['login_followers_status']; 
$num_of_rows = $stmt->fetchColumn(); 

echo $num_of_rows; 

回答

0

为什么你不看手册?

public mixed PDOStatement::fetchColumn ([ int $column_number = 0 ])

PDOStatement对象:: fetchColumn - 从返回的结果集的下一行 一列。

返回结果集的下一行中的单个列,如果 没有更多行,则返回FALSE。

警告如果您使用PDOStatement :: fetchColumn()检索数据,则无法从同一行返回另一列。