数据库麻烦和php麻烦

时间:2014-02-03 23:44:49

标签: php mysql sql phpmyadmin

我在创建表.php脚本时遇到问题,它创建了数据库中的所有表,除了'useroptions'之外的表。我是php新手,但仍然在一定程度上理解它,反馈和帮助将不胜感激。

 <?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>"; 
}
?>

当我点击数据库时,我也收到此错误?

错误 SQL查询:

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

1146 - 表'phpmyadmin.pma_tracking'不存在

1 个答案:

答案 0 :(得分:1)

您的useroptions create table语句包含无效的唯一键ref:UNIQUE KEY email (email)email上没有列useroptions。删除它,它可能会运行干净。

至于查询问题,我不确定你要做什么。