#28912 [Opn->Bgs]: MYSQLI_TYPE_STRING != mysqli_fetch_field() type for VARCHAR column
| From: | georg@php.net | Date: | Mon, 28 Jun 2004 21:48:21 +0000 |
| Subject: | #28912 [Opn->Bgs]: MYSQLI_TYPE_STRING != mysqli_fetch_field() type for VARCHAR column | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-61454@lists.php.net to get a copy of this message | ||
ID: 28912
Updated by: georg@php.net
Reported By: danielc at analysisandsolutions dot com
-Status: Open
+Status: Bogus
Bug Type: MySQL related
Operating System: Windows 2000
PHP Version: 5CVS-2004-06-24 (dev)
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
varchar column definition returns MYSQLI_TYPE_VAR_STRING,
char column definition returns MYSQLI_TYPE_STRING.
Previous Comments:
------------------------------------------------------------------------
[2004-06-28 19:35:22] danielc at analysisandsolutions dot com
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)
------------------------------------------------------------------------
[2004-06-28 18:51:13] georg@php.net
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