ok, it took me about two hours but the answer was staring me right in the face.
Quote
mysql_query() sends an unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier .
And your SQL query should be this:
[highlight="SQL"]CREATE TABLE `administrator` (
`uname` VARCHAR( 15 ),
`pword` VARCHAR( 15 ),
`email` VARCHAR( 25 ),
`lastlogin` VARCHAR( 25 )
);
CREATE TABLE `files` (
`id` INT( 15 ) AUTO_INCREMENT ,
`filename` VARCHAR( 50 ),
`size` VARCHAR( 50 ),
`mime` VARCHAR( 50 ),
`created` VARCHAR( 50 ),
`lastedit` VARCHAR( 50 ),
PRIMARY KEY ( `id` )
);
CREATE TABLE `history` (
`id` INT( 15 ) AUTO_INCREMENT ,
`filename` VARCHAR( 50 ),
`created` VARCHAR( 50 ),
`lastedit` VARCHAR( 50 ),
`action` VARCHAR( 50 ),
PRIMARY KEY ( `id` )
);[/highlight]
Each time you create a table, it is a separate query. Also note your administrator table does not have an index. Thus you have two choices, you can break each table creation into its own query:
<?php
mysql_error());
$tables1 = "CREATE TABLE `administrator` (
`uname` VARCHAR( 15 ),
`pword` VARCHAR( 15 ),
`email` VARCHAR( 25 ),
`lastlogin` VARCHAR( 25 )
);";
$tables2 = "CREATE TABLE `files` (
`id` INT( 15 ) AUTO_INCREMENT ,
`filename` VARCHAR( 50 ),
`size` VARCHAR( 50 ),
`mime` VARCHAR( 50 ),
`created` VARCHAR( 50 ),
`lastedit` VARCHAR( 50 ),
PRIMARY KEY ( `id` )
);";
$tables2 = "CREATE TABLE `history` (
`id` INT( 15 ) AUTO_INCREMENT ,
`filename` VARCHAR( 50 ),
`created` VARCHAR( 50 ),
`lastedit` VARCHAR( 50 ),
`action` VARCHAR( 50 ),
PRIMARY KEY ( `id` )
);";
$query = mysql_query($tables1);
$query = mysql_query($tables2);
$query = mysql_query($tables3);
?>
Or you can use PHP5's
MySQL Improved [mysqli] extension, which might look like this:
$link = mysqli_connect("localhost", "uname", "pword");
mysqli_select_db($link, "test");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$tables ="CREATE TABLE `administrator` (
`uname` VARCHAR( 15 ),
`pword` VARCHAR( 15 ),
`email` VARCHAR( 25 ),
`lastlogin` VARCHAR( 25 )
);
CREATE TABLE `files` (
`id` INT( 15 ) AUTO_INCREMENT ,
`filename` VARCHAR( 50 ),
`size` VARCHAR( 50 ),
`mime` VARCHAR( 50 ),
`created` VARCHAR( 50 ),
`lastedit` VARCHAR( 50 ),
PRIMARY KEY ( `id` )
);
CREATE TABLE `history` (
`id` INT( 15 ) AUTO_INCREMENT ,
`filename` VARCHAR( 50 ),
`created` VARCHAR( 50 ),
`lastedit` VARCHAR( 50 ),
`action` VARCHAR( 50 ),
PRIMARY KEY ( `id` )
);";
mysqli_multi_query($link, $tables) or die(mysqli_error($link));