<?php $sth = $dbh->prepare("SELECT name, colour FROM fruit"); $sth->execute(); /* 从结果集中的下一行获取第一列 */ print("从结果集中的下一行获取第一列:\n"); $result = $sth->fetchColumn(); print("name = $result\n"); print("从结果集中的下一行获取第二列:\n"); $result = $sth->fetchColumn(1); print("colour = $result\n"); ?>
这里的下一行的意思就是字段行的下一行,即第一条数据。
延伸:使用fetchColumn获取select的结果集行数,代替rowCount();
<?php $sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100"; //获取总数 if ($res = $conn->query($sql)) { /* 检查符合 SELECT 语句的行数 */ if ($res->fetchColumn() > 0) { /* 发出一条真正的 SELECT 语句并操作返回的结果 */ $sql = "SELECT name FROM fruit WHERE calories > 100"; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "\n"; } } /* 没有匹配的行 -- 执行其他 */ else { print "No rows matched the query."; } }