$sql='SELECT id FROM mytable WHERE x=?';
$stmt=$conn->prepare($sql);
$stmt->execute(array(123));
$id=$stmt->fetchColumn();
syslog(LOG_INFO,'id ='.$id.' and is '(is_null($id)?'null':'not null'));
PHP $stmt->fetchColumn()
返回看似为null的内容,但是,在测试时不会。
MySQL在shell上测试时显示MySQL returned an empty result set (i.e. zero rows). (Query took 0.0008 sec)
。
对于空结果集,返回$stmt->fetchColumn()
是什么?
答案 0 :(得分:1)
来自PHP
documentation:
从结果集的下一行返回单个列,如果没有其他行,则返回FALSE。
fetching
使用:
单行提取:
$stmt->fetch();
多行获取:
while($stmt->fetch()) {
//do something
}
答案 1 :(得分:1)
返回false
。
http://php.net/manual/en/pdostatement.fetchcolumn.php
顺便说一句,我不认为$id=$stmt->fetchColumn();
是正确的,因为你应该得到一个我认为的数组。