ID: 39892
User updated by: migues at email dot cz
Reported By: migues at email dot cz
-Status: No Feedback
+Status: Open
Bug Type: MySQLi related
Operating System: Win XP Pro SP2
PHP Version: 5.2.0
New Comment:
Thanks to Christian and his example code, status can be changed to open
again.
Previous Comments:
------------------------------------------------------------------------
[2007-01-17 21:43:06] ceabear at gmx dot de
Here is a quick example code for the original bug report,
it should print the column name and its defined default value for the
column.
<?php
$sql="CREATE TABLE `fetchfield` (
`id` int(11) NOT NULL auto_increment,
`product` varchar(11) collate latin1_german1_ci NOT NULL default
'standard',
`test` int(11) default '3',
`nullable` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;";
$con=mysqli_connect('localhost','username','password','test');
mysqli_query($con,$sql);
$res=mysqli_query($con,"SELECT * FROM test.fetchfield");
$metas=mysqli_fetch_fields($res);
foreach($metas as $meta)
{
echo 'default for '.$meta->name.' is:';
var_dump($meta->def);
echo '<br>';
}
?>
this creates a simple test table with some fields, which get default
values by definition.
as a result I get:
default for id is:string(0) ""
default for product is:string(0) ""
default for test is:string(0) ""
default for nullable is:string(0) ""
the column names are printed ($meta-name) but the default value
($meta->def) is always an empty string.
expected output is:
default for id is:string(0) ""
default for product is:string(0) "standard"
default for test is:string(0) "3"
default for nullable is:string(0) null
it looks like the default value is always an empty string instead of
data out of the database.
looking into the source of php, a null value would be never returned
(because of the source code).
I tried to find out, if this could be a problem of the c-api of mysql,
but didn't find a fitting bug entry on mysql.
maybe this helps to understand the problem?
I used mysql version 5.0.21-community-nt-log on Windows 2000 SP4 and
PHP 5.2.0 for testing
------------------------------------------------------------------------
[2006-12-27 01:00:00] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2006-12-19 22:21:26] [EMAIL PROTECTED]
It might become really simple as soon as I get what you're talking
about.
At the moment I don't get it, sorry.
------------------------------------------------------------------------
[2006-12-19 21:56:49] migues at email dot cz
Hey guys!
Sorry I'm quite novice so it would took me long time to reproduce step
by step creation a.s.o.
But it's simple :
def $res->fetch_fields(); in returns always null! I guess it will work
always the same on other mysql 5.0... with mysqli_result object
------------------------------------------------------------------------
[2006-12-19 21:37:20] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc. If the script requires a
database to demonstrate the issue, please make sure it creates
all necessary tables, stored procedures etc.
Please avoid embedding huge scripts into the report.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/39892
--
Edit this bug report at http://bugs.php.net/?id=39892&edit=1