Show columns

Hi all, I have this simple query.


$q = "SHOW COLUMNS FROM billing";
$res = mysql_query($q) or die(mysql_error()); 
	while ( $row = mysql_fetch_assoc($res) ) { 
//	echo '<pre>'; print_r($row); echo '</pre>';
	echo $row["Field"].'<br>';
	}

The problem is that it is not showing all of the rows.

Here is the database structure,


CREATE TABLE `billing` (
  `id` int(11) NOT NULL auto_increment,
  `transid` varchar(32) default NULL,
  `transdate` datetime default NULL,
  `buyer_fname` varchar(32) default NULL,
  `buyer_lname` varchar(32) default NULL,
  `package` varchar(64) default NULL,
  `buyer_email` varchar(64) default NULL,
  `minutesbought` int(11) default NULL,
  `amountpaid` decimal(15,2) default NULL,
  `userid` varchar(32) default NULL,
  `userpass` varchar(35) default NULL,
  `usermac` varchar(18) default NULL,
  `nasid` varchar(32) default NULL,
  `phone` varchar(15) default NULL,
  `zip` varchar(10) default NULL,
  `transtype` varchar(32) default NULL,
  `pgload` varchar(2) NOT NULL default 'n',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `bind1` (`transdate`,`transid`),
  KEY `usermac` (`usermac`),
  KEY `pgload` (`pgload`),
  KEY `userid` (`userid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;

Here is the output to screen


transid
transdate
buyer_fname
buyer_lname
package
buyer_email
minutesbought
amountpaid
userid
nasid
transtype

Id is missing as well as userpass.
Does anyone know what is happening?

Thank you.

BTW the query works fine in phpmyadmin.