ID: 28912 User updated by: danielc at analysisandsolutions dot com Reported By: danielc at analysisandsolutions dot com -Status: Feedback +Status: Open Bug Type: MySQL related Operating System: Windows 2000 PHP Version: 5CVS-2004-06-24 (dev) New Comment:
Documentation isn't involved. This is purely code. The "type" property returned from the function != the value of the constant. Perhaps your getting the right result is due to both of us running different versions of the software? Here's what I'm on: MySQL: Ver 14.5 Distrib 4.1.2-alpha, for Win95/Win98 (i32) PHP: PHP 5.0.0-dev (cli) (built: Jun 28 2004 16:29:27) Previous Comments: ------------------------------------------------------------------------ [2004-06-28 18:51:13] [EMAIL PROTECTED] Looks like a documentation problem. However I couldn't find this in documentation. Also the example output in mysqli_fetch_field returns 254. Could you please give me a link to the wrong documentation? ------------------------------------------------------------------------ [2004-06-24 18:50:07] danielc at analysisandsolutions dot com Description: ------------ The "type" value returned from mysqli_fetch_field() for a VARCHAR field is 253. The manual says the constant for VARCHAR fields is MYSQLI_TYPE_STRING which has a value of 254. So, there's no way to determine column types via constants for VARCHAR's. Reproduce code: --------------- mysqli_query($db->connection, 'CREATE TABLE bar (Cf VARCHAR(5))'); $r = mysqli_query($db->connection, 'SELECT Cf FROM bar'); $tmp = mysqli_fetch_field($r); echo "type found = $tmp->type\n"; echo 'MYSQLI_TYPE_STRING = ' . MYSQLI_TYPE_STRING . "\n"; mysqli_query($db->connection, 'DROP TABLE bar'); Expected result: ---------------- type found = 254 MYSQLI_TYPE_STRING = 254 Actual result: -------------- type found = 253 MYSQLI_TYPE_STRING = 254 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28912&edit=1