Josh
Josh

Reputation: 66

Database trouble and php trouble

I am having trouble with my create a table .php script, It creates all tables in the database except one which is 'useroptions'. I am new to php but still understand it to an extent, feedback and help would be greatly appreciated.

 <?php
include_once("php_includes/db_connect.php");

$tbl_users = "CREATE TABLE IF NOT EXISTS users (
              id INT(11) NOT NULL AUTO_INCREMENT,
              firstname VARCHAR(100) NOT NULL,
              lastname VARCHAR(100) NOT NULL,
              email VARCHAR(255) NOT NULL,
              password VARCHAR(255) NOT NULL,
              gender ENUM('m','f') NOT NULL,
              avatar VARCHAR(255) NULL,
              ip VARCHAR(255) NOT NULL,
              signup DATETIME NOT NULL,
              lastlogin DATETIME NOT NULL,
              notescheck DATETIME NOT NULL,
              activated ENUM('0','1') NOT NULL DEFAULT '0',
              PRIMARY KEY (id),
              UNIQUE KEY email (email)
             )";
$query = mysqli_query($db_connect, $tbl_users);
if ($query === TRUE) {
    echo "<h3>user table created OK :) </h3>"; 
} else {
    echo "<h3>user table NOT created :( </h3>"; 
}
////////////////////////////////////
$tbl_useroptions = "CREATE TABLE IF NOT EXISTS useroptions ( 
                id INT(11) NOT NULL,
                question VARCHAR(255) NULL,
                answer VARCHAR(255) NULL,
                PRIMARY KEY (id),
                UNIQUE KEY email (email) 
                )"; 
$query = mysqli_query($db_connect, $tbl_useroptions); 
if ($query === TRUE) {
    echo "<h3>useroptions table created OK :) </h3>"; 
} else {
    echo "<h3>useroptions table NOT created :( </h3>"; 
}
////////////////////////////////////
$tbl_friends = "CREATE TABLE IF NOT EXISTS friends ( 
                id INT(11) NOT NULL AUTO_INCREMENT,
                user1 VARCHAR(100) NOT NULL,
                user2 VARCHAR(100) NOT NULL,
                datemade DATETIME NOT NULL,
                accepted ENUM('0','1') NOT NULL DEFAULT '0',
                PRIMARY KEY (id)
                )"; 
$query = mysqli_query($db_connect, $tbl_friends); 
if ($query === TRUE) {
    echo "<h3>friends table created OK :) </h3>"; 
} else {
    echo "<h3>friends table NOT created :( </h3>"; 
}
////////////////////////////////////
$tbl_blockedusers = "CREATE TABLE IF NOT EXISTS blockedusers ( 
                id INT(11) NOT NULL AUTO_INCREMENT,
                blocker VARCHAR(100) NOT NULL,
                blockee VARCHAR(100) NOT NULL,
                blockdate DATETIME NOT NULL,
                PRIMARY KEY (id) 
                )"; 
$query = mysqli_query($db_connect, $tbl_blockedusers); 
if ($query === TRUE) {
    echo "<h3>blockedusers table created OK :) </h3>"; 
} else {
    echo "<h3>blockedusers table NOT created :( </h3>"; 
}
////////////////////////////////////
$tbl_status = "CREATE TABLE IF NOT EXISTS status ( 
                id INT(11) NOT NULL AUTO_INCREMENT,
                osid INT(11) NOT NULL,
                account_name VARCHAR(100) NOT NULL,
                author VARCHAR(100) NOT NULL,
                data TEXT NOT NULL,
                postdate DATETIME NOT NULL,
                PRIMARY KEY (id) 
                )"; 
$query = mysqli_query($db_connect, $tbl_status); 
if ($query === TRUE) {
    echo "<h3>status table created OK :) </h3>"; 
} else {
    echo "<h3>status table NOT created :( </h3>"; 
}
////////////////////////////////////
$tbl_photos = "CREATE TABLE IF NOT EXISTS photos ( 
                id INT(11) NOT NULL AUTO_INCREMENT,
                user VARCHAR(100) NOT NULL,
                gallery VARCHAR(16) NOT NULL,
                filename VARCHAR(255) NOT NULL,
                description VARCHAR(255) NULL,
                uploaddate DATETIME NOT NULL,
                PRIMARY KEY (id) 
                )"; 
$query = mysqli_query($db_connect, $tbl_photos); 
if ($query === TRUE) {
    echo "<h3>photos table created OK :) </h3>"; 
} else {
    echo "<h3>photos table NOT created :( </h3>"; 
}
////////////////////////////////////
$tbl_notifications = "CREATE TABLE IF NOT EXISTS notifications ( 
                id INT(11) NOT NULL AUTO_INCREMENT,
                firstname VARCHAR(100) NOT NULL,
                initiator VARCHAR(100) NOT NULL,
                app VARCHAR(255) NOT NULL,
                note VARCHAR(255) NOT NULL,
                did_read ENUM('0','1') NOT NULL DEFAULT '0',
                date_time DATETIME NOT NULL,
                PRIMARY KEY (id) 
                )"; 
$query = mysqli_query($db_connect, $tbl_notifications); 
if ($query === TRUE) {
    echo "<h3>notifications table created OK :) </h3>"; 
} else {
    echo "<h3>notifications table NOT created :( </h3>"; 
}
?>

Also I'm getting this error when I click on database ?

Error SQL query:

SELECT tracking_active
FROM  `phpmyadmin`.`pma_tracking` 
WHERE db_name =  'circle'
AND table_name =  'blockedusers'
ORDER BY version DESC

MySQL said:

1146 - Table 'phpmyadmin.pma_tracking' doesn't exist

Upvotes: 0

Views: 136

Answers (1)

Durandal
Durandal

Reputation: 5663

Your useroptions create table statement has an invalid unique key ref: UNIQUE KEY email (email). There is no column email on useroptions. Remove it and it will likely run clean.

As for the query issue, not really sure what you're trying to do.

Upvotes: 1

Related Questions