note 118367 added to pdostatement.fetchcolumn

From: Date: Tue, 24 Nov 2015 07:21:51 +0000
Subject: note 118367 added to pdostatement.fetchcolumn
Groups: php.notes 
Request: Send a blank email to php-notes+get-204214@lists.php.net to get a copy of this message
When an invalid column offset is suplied, PDOStatement::fetch() with PDO::FETCH_COLUMN always returns the value of the first column of the first row. However, PDOStatement::fetchAll() with PDO::FETCH_COLUMN and an invalid column offset whill throw an exception instead. <?php $pdo = new PDO(....);// let's assume the database is connected. $PDOStatement = $pdo->query('SELECT * FROM WuXiancheng'); echo $PDOStatement->fetch(PDO::FETCH_COLUMN, -1); // minus column offset $PDOStatement = $pdo->query('SELECT * FROM WuXiancheng'); echo $PDOStatement->fetch(PDO::FETCH_COLUMN, 3691); // column offset is number greater than column count $PDOStatement = $pdo->query('SELECT * FROM WuXiancheng'); echo $PDOStatement->fetch(PDO::FETCH_COLUMN, 36.5); // column offset is a float number ?> Examples above will all input the first column value of the first row of data get from the database. This is really weird. ---- Server IP: 72.52.91.14 Probable Submitter: 118.117.77.70 ---- Manual Page -- http://php.net/manual/en/pdostatement.fetchcolumn.php Edit -- https://master.php.net/note/edit/118367 Del: integrated -- https://master.php.net/note/delete/118367/integrated Del: useless -- https://master.php.net/note/delete/118367/useless Del: bad code -- https://master.php.net/note/delete/118367/bad+code Del: spam -- https://master.php.net/note/delete/118367/spam Del: non-english -- https://master.php.net/note/delete/118367/non-english Del: in docs -- https://master.php.net/note/delete/118367/in+docs Del: other reasons-- https://master.php.net/note/delete/118367 Reject -- https://master.php.net/note/reject/118367 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#204214) next »