Как создать вкладку MYSQL с php, в которой мы можем установить имя таблицы из значения базы данных mysql (сеанс пользователя)? - PullRequest
0 голосов
/ 21 сентября 2018

Я хочу создать таблицу mysql с php, в которой я могу установить имя таблицы из значения столбца таблицы конкретного пользователя базы данных mysql.В приведенном ниже коде я пытался сделать это, приравнивая имя таблицы с переменной, которая хранит имя (из базы данных), но каждый раз, когда я получаю сообщение об ошибке означает, что оно не работает, пожалуйста, помогите мне!

   <?php
session_start();
include_once 'dbconnect2.php';

if(!isset($_SESSION['user']))
{
  header("Location: index.php");
}
$res=mysqli_query($con, "SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysqli_fetch_assoc($res);

if($userRow['tableid']!=1)
{
    $user_id = $userRow['user_id'];

    $createtable="  CREATE TABLE `id`='$user_id' (
                        `id` int(5) NOT NULL,
                        `topic` int(5) NOT NULL,

                        `ptopic` varchar(25) NOT NULL,
                        ADD PRIMARY KEY (`id`)

                    ) ENGINE=MyISAM DEFAULT CHARSET=latin1";
    $resulttid = mysqli_query($con, $createtable);
    if($resulttid)   {
        $tablequery = "UPDATE `users` SET `tableid`='1' WHERE `user_id` = $user_id";      
        $resulttblquery = mysqli_query($con, $tablequery); 
    }else{ 
        echo "error";
    }
}
?>

1 Ответ

0 голосов
/ 21 сентября 2018

Замените созданный вами табличный код на приведенный ниже код, чтобы вы могли создавать имя таблицы из переменной PHP и убедиться, что имена таблиц без кавычек могут состоять из любых буквенно-цифровых символов в наборе символов по умолчанию на сервере

$createtable=" CREATE TABLE $user_id(
                    `id` int(5) NOT NULL,
                    `topic` int(5) NOT NULL,
                    `ptopic` varchar(25) NOT NULL,
                    PRIMARY KEY (`id`)

                ) ENGINE=MyISAM DEFAULT CHARSET=latin1";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...