With the pair of included files written, it’s now time to set up the MySQL tables they will use. This is done with Example 20-3, rnsetup.php, which you should type in and load into your browser before calling up any other files—otherwise you’ll get numerous MySQL errors.
The tables created are kept short and sweet, and have the following names and columns:
username user (indexed), password pass
ID id (indexed), author auth (indexed), recipient recip, message type pm, message message
username user (indexed), friend’s username friend
username user (indexed), “about me” text
Because the function
createTable first checks whether a table
already exists, this program can be safely called multiple times without
generating any errors.
It is very likely that you will need to add many more columns to
these tables if you choose to expand on this project. If so, you may
need to issue a MySQL
command before recreating a table.
<?php // rnsetup.php include_once 'rnfunctions.php'; echo '<h3>Setting up</h3>'; createTable('rnmembers', 'user VARCHAR(16), pass VARCHAR(16), INDEX(user(6))'); createTable('rnmessages', 'id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, auth VARCHAR(16), recip VARCHAR(16), pm CHAR(1), time INT UNSIGNED, message VARCHAR(4096), INDEX(auth(6)), INDEX(recip(6))'); createTable('rnfriends', 'user VARCHAR(16), friend VARCHAR(16), INDEX(user(6)), INDEX(friend(6))'); createTable('rnprofiles', 'user VARCHAR(16), ...