Page 1 of 1

Need method for returning exact MySQL field types.

Posted: Tue Jan 27, 2004 11:07 pm
by Devyn
Hi,

I need PHP to list exact MySQL field types as they would appear when listing them from MySQL themselves.

The following MySQL fields:

[ LIST 1 ]
varchar
tinyblob
text
int
varchar

in PHP return:

[ LIST 2 ]
string
blob
blob
int
string

I need them to return their exact types as in LIST 1. I've searched but can't find the correct way. Is this possible in PHP and how would I do this?
I've used the following example code to test at http://ca2.php.net/mysql_fetch_field:

Code: Select all

<?php
mysql_connect('localhost:3306', $user, $password)
   or die("Could not connect: " . mysql_error());
mysql_select_db("database");
$result = mysql_query("select * from table")
   or die("Query failed: " . mysql_error());
/* get column metadata */
$i = 0;
while ($i < mysql_num_fields($result)) &#123;
   echo "Information for column $i:<br />\n";
   $meta = mysql_fetch_field($result, $i);
   if (!$meta) &#123;
       echo "No information available<br />\n";
   &#125;
   echo "<pre>
blob:        $meta->blob
max_length:  $meta->max_length
multiple_key: $meta->multiple_key
name:        $meta->name
not_null:    $meta->not_null
numeric:      $meta->numeric
primary_key:  $meta->primary_key
table:        $meta->table
type:        $meta->type
unique_key:  $meta->unique_key
unsigned:    $meta->unsigned
zerofill:    $meta->zerofill
</pre>";
   $i++;
&#125;
mysql_free_result($result);
?>
Dev

Posted: Wed Jan 28, 2004 7:34 am
by m3rajk
php has string, whole number, and floating point numbers.

this means the EXACT type from mysql IS being returned and php is looking at it as either a string or one of those numbers.

everything you play with in php will be one of those types

mysql is also smart enough to know how to convert to the right type when it's possible, so going the other way isn't an issue either

Posted: Wed Jan 28, 2004 11:20 am
by Devyn
Thanks m3rajk. That's close enough to what I wanted.

Posted: Wed Jan 28, 2004 5:13 pm
by m3rajk
no problem. the best way to design a good script is to make sure you understand what data types are in what your using and how to define them. . this just shows that you're methodical and probalby construct good scripts