SQL создание таблицы

L
На сайте с 03.02.2009
Offline
66
731

Sql создание таблицы через php

$query = ''

. ' CREATE TABLE `bla_bla`. $date_count ( `id` int( 11 ) NOT NULL auto_increment ,'

. ' `ip` text NOT NULL ,'

. ' `http` text NOT NULL ,'

. ' `title` text NOT NULL ,'

. ' `discr` text NOT NULL ,'

. ' `key_txt` text NOT NULL ,'

. ' `time` text NOT NULL ,'

. ' `date` text NOT NULL ,'

. ' `perehodi` text NOT NULL ,'

. ' UNIQUE KEY `id` ( `id` ) ) ENGINE = MyISAM DEFAULT CHARSET = cp1251;';

Проблемма:

Он видит $date_count как простой текст

Что нужно написать, чтобы он видил переменную как переменную, и создавал таблицу с её значением ?

DP
На сайте с 24.04.2012
Offline
16
#1


. ' CREATE TABLE `bla_bla`.'. $date_count.' ( `id` int( 11 ) NOT NULL auto_increment ,'

Если bla_bla название БД.

L
На сайте с 03.02.2009
Offline
66
#2

Поправил..... выдает....:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.123 ( `id` int( 11 ) NOT NULL auto_increment , `ip` text NOT NULL , `http` text' at line 1
SI
На сайте с 03.12.2007
Offline
130
#3

Вместо одиночных двойные кавычки нужны.

Так примерно:

" CREATE TABLE `bla_bla`.`$date_count` ( ... "

-= Онлайн сервисы =-
L
На сайте с 03.02.2009
Offline
66
#4

а где именно ? (

DP
На сайте с 24.04.2012
Offline
16
#5

Почему двойные? Там вроде везде одинарные. Лучше бы увидеть значение $query. Вроде нормальный синтаксис.

---------- Добавлено 20.05.2012 в 01:38 ----------

Можно попробовать


. ' CREATE TABLE `bla_bla`.`'. $date_count.'` ( `id` int( 11 ) NOT NULL auto_increment ,'


---------- Добавлено 20.05.2012 в 01:42 ----------

Никогда не задумывался над этим, может просто нельзя численные названия таблиц?
L
На сайте с 03.02.2009
Offline
66
#6

тьфу...... забыл заменить когда проверял "bla_bla" на нормальное значение

P.s. самый последний вариант работает.

Спасибки ))

SM
На сайте с 25.07.2009
Offline
38
#7
Sigmo#ID:
Вместо одиночных двойные кавычки нужны.

Так примерно:
" CREATE TABLE `bla_bla`.`$date_count` ( ... "

Верно. В одинарных транслируется, то что написано. Или двойные или слияние.

L
На сайте с 03.02.2009
Offline
66
#8
developer_php:
Почему двойные? Там вроде везде одинарные. Лучше бы увидеть значение $query. Вроде нормальный синтаксис.

---------- Добавлено 20.05.2012 в 01:38 ----------

Можно попробовать

. ' CREATE TABLE `bla_bla`.`'. $date_count.'` ( `id` int( 11 ) NOT NULL auto_increment ,'


---------- Добавлено 20.05.2012 в 01:42 ----------

Никогда не задумывался над этим, может просто нельзя численные названия таблиц?

Численные можно

siv1987
На сайте с 02.04.2009
Offline
427
#9

Опять этот кривой синтаксис с ненужной конкатенации, неудивительно что в таком коде даже банальные ошибки можно проморгать


$query = "CREATE TABLE `bla_bla`.{$date_count} (
`id` int( 11 ) NOT NULL auto_increment,
`ip` text NOT NULL,
`http` text NOT NULL,
`title` text NOT NULL,
`discr` text NOT NULL ,
`key_txt` text NOT NULL ,
`time` text NOT NULL ,
`date` text NOT NULL ,
`perehodi` text NOT NULL ,
UNIQUE KEY `id` (`id`) )
ENGINE = MyISAM DEFAULT CHARSET = cp1251;";

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий