The Soothingly Seamless Setup of Apache, SSL, MySQL, and PHP - Are PHP and MySQL Working Together? (
Page 10 of 11 )
Now, we can
confirm that PHP is working with MySQL by creating a simple script to do some
inserting and deleting of data from the "test2" database. Again this is just a
simple script to see if it worked. In another article we will talk about PHP
scripting to connect to a MySQL database. Remember, we already created the
database and a table. We could had done it here, but chose not to. We wanted to
double check that root had privileges to create DB and tables. However, PHP
provides support for MySQL so we can easily write code to create a testing
database and several records.
Remember, we created the "books" table
prior to getting to this point. This portion will not work if you skipped prior
sections. We created the "test2" database with a "books" table, and inserted a
record for a book.
This script basically goes through the table and list
all the fields by name. It's very simple.
<?
$dbuser =
'root';
$dbhost = 'localhost';
$dbpass =
'password';
$dbname = 'test2';
$dbtble =
'books';
$mysql_link =
mysql_connect($dbhost,$dbuser,$dbpass);
$column =
mysql_list_fields($dbname,$dbtble,$mysql_link);
for($i=0; $i<
mysql_num_fields($column); $i++ )
{
print mysql_field_name($column,$i
)."<br>";
}
?>
A more complex example will show you some of the cool features of
PHP.
<html>
<head>
<title>Example 2 -- more
details</title>
</head>
<body bgcolor="white">
<?
$dbuser = 'root';
$dbhost = 'localhost';
$dbpass =
'password';
$dbname = 'test2';
$dbtable = 'books';
//------ DATABASE CONNECTION --------//
$mysql_link =
mysql_connect($dbhost,$dbuser,$dbpass);
$column =
mysql_list_fields($dbname,$dbtable,$mysql_link);
$sql = "SELECT * FROM
$dbtable";
$result = mysql_db_query($dbname,$sql);
?>
<table
bgcolor="black">
<tr><td>
<table><!---- Inside
Table ---->
<?
while($value =
mysql_fetch_array($result))
{
print "<tr BGCOLOR=YELLOW>";
//This
loop goes through the colums and prints
//each value
for($i=0; $i<
mysql_num_fields($column); $i++ )
{
print "<td> $value[$i]
</td>";
}
print
"</tr>";
}
mysql_free_result($result);
mysql_close();
?>
</table><!----
Inside Table
----->
</td></tr>
</table>
</body>
</html>
Notice, how you can
have both HTML and PHP commands inside the same file, one of the nice things
about PHP scripts. Because you begin with "", Apache knows that anything inside of it should be
handled by the PHP module. The PHP module then interprets and executes each command. Small features like these are great for creating
dynamic sites!