Source of: ../Wda42/example.4-3.php

<?php
// This is included to hide the username and password (not in the book)
include 'db.inc';

/*
Source code example for Web Database Applications

Unless otherwise stated, the source code distributed with this book can be
redistributed in source or binary form so long as an acknowledgment appears
in derived source files.
The citation should list that the code comes from Hugh E.
Williams and David Lane, "Web Database Application with PHP and MySQL"
published by O'Reilly & Associates.
This code is under copyright and cannot be included in any other book,
publication, or educational product without permission from O'Reilly &
Associates.
No warranty is attached; we cannot take responsibility for errors or fitness
for use.
*/
?>
<!DOCTYPE HTML PUBLIC 
               "-//W3C//DTD HTML 4.0 Transitional//EN"
               "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Wine Table Structure</title>
</head>
<body><pre>
<?php
   
// Open a connection to the DBMS
   // In the book, $username is replaced with "fred"
   // and $password is replaced with "shhh"
   
$connection mysql_connect("localhost",$username,$password);

   
mysql_select_db("winestore"$connection);

   
// Run a query on the wine table in the 
   // winestore database to retrieve one row
   
$result mysql_query ("SELECT * FROM wine LIMIT 1"
                         
$connection);

   
// Output a header, with headers spaced by padding
   
print str_pad("Field"20) . 
         
str_pad("Type"14) . 
         
str_pad("Null"6) . 
         
str_pad("Key"5) . 
         
str_pad("Extra"12) . "\n";  

   
// for each of the attributes in the result set
   
for($i=0;$i<mysql_num_fields($result);$i++) 
   {
      
// Get the meta-data for the attribute
      
$info mysql_fetch_field ($result);
      
      
// Print the attribute name
      
print str_pad($info->name20);

      
// Print the data type
      
print str_pad($info->type6);

      
// Print a "(", the field length, and a ")" e.g.(2)
      
print str_pad("(" $info->max_length ")"8);

      
// Print out YES if attribute can be NULL
      
if ($info->not_null != 1
          print 
" YES ";
      else 
         print  
"     ";

      
// Print out selected index information
      
if ($info->primary_key == 1)
         print 
" PRI ";
      elseif (
$info->multiple_key == 1)
         print 
" MUL ";
      elseif (
$info->unique_key == 1)
         print 
" UNI ";

      
// If zero-filled, print this
      
if ($info->zerofill)
         print 
" Zero filled";

      
// Start a new line
      
print "\n"
   }

   
// Close the database connection
   
mysql_close($connection);
?>
</pre>
</body>
</html>  


© 2000--2001 Hugh E. Williams and David Lane.
Valid HTML 4.01!