2016-06-05 7 views
-1

Я пытаюсь создать страницу, на которой пользователь вводит данные для рекламы и после ввода входов создает таблицу, в которой данные могут быть сохранены. Данные передаются правильно и способ гарантировать, что генерируемое имя таблицы будет уникальным.Невозможно создать таблицу mysql Динамически

Но я не могу выполнить запрос и не знаю, почему его не работает.

Я новичок, и, следовательно, любые советы были бы очень оценены.

Мой код приведен ниже

$Tablename = $Title.$Mobileno; 
 
echo $Tablename; 
 
$sqltable = "CREATE TABLE $Tablename (`ID` INT NOT NULL AUTO_INCREMENT , `Title` VARCHAR(30) NOT NULL , `Sname` VARCHAR(30) NOT NULL , `email` VARCHAR(50) NOT NULL , `descrip` VARCHAR(200) NOT NULL , `mno` INT(30) NOT NULL , `base` INT(30) NOT NULL , `cutoff` INT(30) NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB"; 
 
mysqli_query($con,$sqltable); 
 
if(!mysqli_query($con,$sqltable)) 
 
{echo "TABLE NOT MADE ";} 
 
$sql = "INSERT INTO $Tablename(Title,Sname,email,descrip,mno,base,cutoff)VALUES('$Title','$Sname','$email','$Description','$Mobileno','$Base','$Cutoff')"; 
 
mysqli_query($con,$sqltable); 
 
if(!mysqli_query($con,$sql)) 
 
{echo'not inserted';} 
 
else {echo'inserted';} 
 

 

 
?>

+2

Зачем вам нужно создавать таблицу на каждой входной записи. Почему бы вам не сохранить все входные данные в одной таблице с разными идентификаторами или временными спамами? –

+0

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

+0

Ну, я уверен, что вы можете сделать это, создать единую таблицу и добавить в нее все входные данные. На странице списка, покажите несколько полей вручную и на странице подробностей, вы можете показать все поля, а также добавить макет дизайна. Насколько мне известно, создание новой таблицы в каждой записи объявлений не является хорошей идеей. Проблема с памятью, проблема времени, управление данными Проблема –

ответ

0

Попробуйте enciosing с цитатой имя_таблицы

"CREATE TABLE '$Tablename' (
     `ID` INT NOT NULL AUTO_INCREMENT 
    , `Title` VARCHAR(30) NOT NULL 
    , `Sname` VARCHAR(30) NOT NULL 
    , `email` VARCHAR(50) NOT NULL 
    , `descrip` VARCHAR(200) NOT NULL 
    , `mno` INT(30) NOT NULL 
    , `base` INT(30) NOT NULL 
    , `cutoff` INT(30) NOT NULL 
    , PRIMARY KEY (`ID`)) ENGINE = InnoDB"; 

или использование конкатенации

 "CREATE TABLE '" . $Tablename."' (
     `ID` INT NOT NULL AUTO_INCREMENT 
    , `Title` VARCHAR(30) NOT NULL 
    , `Sname` VARCHAR(30) NOT NULL 
    , `email` VARCHAR(50) NOT NULL 
    , `descrip` VARCHAR(200) NOT NULL 
    , `mno` INT(30) NOT NULL 
    , `base` INT(30) NOT NULL 
    , `cutoff` INT(30) NOT NULL 
    , PRIMARY KEY (`ID`)) ENGINE = InnoDB"; 

убедитесь, что у вас есть правильная дезинфекция $ Tablename vars

Смежные вопросы