Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Динамическое название таблицы в базе данных
 
 автор: Nhkey   (28.03.2008 в 19:01)   письмо автору
 
 

Необходимо написать скрипт создания новой таблицы в БД мускула (названия создаваемых таблиц идет по порядку(т.е. первый раз выполняется скрипт - создается таблица "1", второй раз - название таблицы "2" и т.д.).

Ввожу переменную $m, присваиваю ей нужный номер, пишу следующий код для создания новой таблицы:

$query = 'CREATE TABLE $m ('
        . ' `id` INT(11) NOT NULL AUTO_INCREMENT, '
        . ' `ip` VARCHAR(15) NOT NULL, '
        . ' `comment` VARCHAR(200) NOT NULL, '
        . ' `data` DATETIME NOT NULL, '
        . ' PRIMARY KEY (`id`)'
        . ' )'; 
    $result = mysql_query($query) or die("Query failed : "
 . mysql_error());


Проблема в том, что создается таблица с названием "$m", а не порядковым номером, как должно быть. Помогите пожалуйста решить проблему.

   
 
 автор: Root   (28.03.2008 в 21:12)   письмо автору
 
   для: Nhkey   (28.03.2008 в 19:01)
 

замените одинарные кавычки на двойные

   
 
 автор: Nhkey   (28.03.2008 в 22:26)   письмо автору
 
   для: Root   (28.03.2008 в 21:12)
 

не помогает, уже пробовал.

   
 
 автор: Root   (28.03.2008 в 22:39)   письмо автору
 
   для: Nhkey   (28.03.2008 в 22:26)
 


<?php
$query 
"CREATE TABLE `$m` (`id` INT(11) NOT NULL AUTO_INCREMENT, 
                `ip` VARCHAR(15) NOT NULL, 
                `comment` VARCHAR(200) NOT NULL, 
                `data` DATETIME NOT NULL,
                PRIMARY KEY (`id`)
                )"
;  
$result mysql_query($query) or die("Query failed : " mysql_error());
?>

   
 
 автор: ronin80   (28.03.2008 в 22:41)   письмо автору
 
   для: Nhkey   (28.03.2008 в 22:26)
 

я конечно не силён в php но если я не ошибаюсь у тебя переменная m заключена в кавычки вместе с текстом скрипта создания таблицы и воспринимается как текст а не как переменная

по аналогии в Delphi если я напишу например 'create table имя_переменной' то компилятор не поймёт что это переменная, для этого надо прописать так 'create table' + имя_переменной, вот тогда подставится значение переменной

   
 
 автор: Root   (28.03.2008 в 22:59)   письмо автору
 
   для: ronin80   (28.03.2008 в 22:41)
 

>я конечно не силён в php но если я не ошибаюсь у тебя переменная m заключена в кавычки вместе с текстом скрипта создания таблицы и воспринимается как текст а не как переменная

только в одинарных кавычках воспринимается как текст
в двойных как переменная.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования