note 20857 added to function.mysql-fetch-field

From: Date: Thu, 18 Apr 2002 21:00:12 +0000
Subject: note 20857 added to function.mysql-fetch-field
Groups: php.notes 
Request: Send a blank email to php-notes+get-29538@lists.php.net to get a copy of this message
Same problem, slightly different solution. $result = mysql_query("DESCRIBE tablename"); # or SHOW COLUMNS FROM # or SHOW FIELDS FROM then loop: $row = mysql_fetch_array($result); # row is mysql type, in format "int(11) unsigned zerofill" # or "enum('cheese','salmon')" etc. ereg('^([^ (]+)(\((.+)\))?([ ](.+))?$',$row['Type'],$fieldTypeSplit); # split type up into array $fieldType = $fieldTypeSplit[1]; # eg 'int' for integer. $fieldFlags = $fieldTypeSplit[5]; # eg 'binary' or 'unsigned zerofill'. $fieldLen = $fieldTypeSplit[3]; # eg 11, or 'cheese','salmon' for enum. You might then like to: if ($fieldType=='enum' or $fieldType=='set') $fieldLen = split("','",substr(1,-1,$fieldLen)); So for enum or set types, $fieldLen becomes an array of possible values. Hope that helps someone out there... -- http://www.php.net/manual/en/function.mysql-fetch-field.php http://master.php.net/manage/user-notes.php?action=edit+20857 http://master.php.net/manage/user-notes.php?action=delete+20857 http://master.php.net/manage/user-notes.php?action=reject+20857

« previous php.notes (#29538) next »