Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Переменная в имени таблицы !!! 
:(
    Опции темы
box
Дата 4.3.2007, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: 0
Всего: 0



подскажите как правельно подставить переменную в  таблицe:
 for($i=0; $i < count($per); $i++) 
        { 
        echo $i; 

$sql = 'CREATE TABLE $i (' 
        . ' '1'T CHARACTER SET koi8r COLLATE koi8r_general_ci NOT NULL' 
        . ' )' 
        . ' ENGINE = myisam;'; 
} 
 

надо что-бы автоматически создавались различные имена в таблице, а вот так у меня ничего не получается !!! создается только однф таблица с именем $i !!! почему ???
  
  

PM MAIL   Вверх
Glip
Дата 4.3.2007, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 7
Всего: 18



 'CREATE TABLE '.$i.' ('


--------------------
user posted image
PM MAIL   Вверх
Всемогущий
Дата 4.3.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 25.6.2006
Где: Челябинск

Репутация: 5
Всего: 13



это потому ,что переменные не обрабатываются внутри одинарных кавычек.
сделай двойные
Код

"CREATE TABLE $i (".



--------------------
Цитата(smartov @  16.1.2007,  13:26 Найти цитируемый пост)
Видел я PHP код, который пишут наСильники, никогда на php не писавшие  :D  То еще зрелище. Все пытаются сделать руками и через ж (как в С привыкли). Все пытаются память освобождать итд итп. 
PM MAIL ICQ   Вверх
Glip
Дата 4.3.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 7
Всего: 18



и здесь

' '1'T CHARACTER SET koi8r COLLATE koi8r_general_ci NOT NULL' 

 вроде должно ошибку давать


--------------------
user posted image
PM MAIL   Вверх
box
Дата 4.3.2007, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: 0
Всего: 0



   for($i=0; $i < count($per); $i++)
        {
        echo $i;

$sql = "CREATE TABLE $i ("
        . " 1 TEXT CHARACTER SET koi8r COLLATE koi8r_general_ci NOT NULL"
        . " )'
        . ' ENGINE = myisam;';
}
выдает ошибку .
А сколько таблиц вообше может быть создано ???
PM MAIL   Вверх
Glip
Дата 4.3.2007, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 7
Всего: 18



правильно выдает. потому что 

. " )'

внимательнее надо быть. еще можно взять редактор с нормальной подсветкой 

Это сообщение отредактировал(а) Glip - 4.3.2007, 20:56


--------------------
user posted image
PM MAIL   Вверх
box
Дата 4.3.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: 0
Всего: 0



я не пойму к чему такие сложности , как будет выглядеть ???
PM MAIL   Вверх
box
Дата 4.3.2007, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: 0
Всего: 0



послушайте уважаемые , если не знаете ответ на вопрос , то лучше не лезте в тему !!!
потому что из того что вы мне посоветовали ничего извлечь нельзя !!!!!!!
PM MAIL   Вверх
Glip
Дата 4.3.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 7
Всего: 18



Какие вопросы, такие и ответы. Вы спросили как правильно подставить переменную, Вам ответили. Спросили почему ошибка, тоже получили ответ. А то что Вы не видите разницы между двойными и одинарными кавычками и не знаете правила задания и объединения строк, оказывается мы виноваты.


--------------------
user posted image
PM MAIL   Вверх
box
Дата 4.3.2007, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: 0
Всего: 0



Нет уважаемый , один говорит что нужно сделать так :
 'CREATE TABLE '.$i.' (' 
а другой говорит , что в одинарных кавычках не будудет восприниматся переменная !!!



как это понимать ???????????
PM MAIL   Вверх
Glip
Дата 4.3.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 7
Всего: 18



Читаем документацию про строковые переменные и их объединение.
Если допустить что в $i нет никаких "извратов" (а может и с "извратами") то в данном случае

'CREATE TABLE '.$i.' ('  == "CREATE TABLE $i ("


--------------------
user posted image
PM MAIL   Вверх
box
Дата 4.3.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: 0
Всего: 0



могу вас уверить что не первый не второй вариант не РАБОЧИЙ !!! попрошу выложить исходный код , если вы в состоянии конечно !!
вот тогда вам будет уважуха и респект !!!!!!!

Это сообщение отредактировал(а) box - 4.3.2007, 21:59
PM MAIL   Вверх
Glip
Дата 4.3.2007, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 7
Всего: 18



Есть у меня подозрение что постановка задачи не правильная. Точнее ту задачу, которую Вы пытаетесь решить таким образом, надо решать по другому. Если всетаки решать именно так, то желательно _точно_ узнать разрешены ли у Mysql (судя по ENGINE) в качестве имен таблиц и полей цифры. Если разрешены, то Ваш запрос будет выглядеть примерно так:
Код

$sql = "CREATE TABLE $i ( 1 TEXT CHARACTER SET koi8r COLLATE koi8r_general_ci NOT NULL ) ENGINE = myisam";


при условии что сам SQL запрос изначально правильный. К сожалению не работю с MySQL и не знаю правильности использования "CHARACTER SET" и "COLLATE". В рамках же Вашего вопроса:
Цитата
подскажите как правельно подставить переменную в  таблицe

переменная в данном случае поставлена правильно. Если всетаки Вы не получите желаемый результат, то возможно ошибка в php коде.

Респекта и уважухи у меня хоть отбавляй. А вот люди не желающие читать документацию, и считающие что все им _обязаны_ помогать, мягко говоря бесят.

Это сообщение отредактировал(а) Glip - 4.3.2007, 22:24


--------------------
user posted image
PM MAIL   Вверх
box
Дата 4.3.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 27.2.2007

Репутация: 0
Всего: 0



Да нет , не обязаны , просто если -бы ты хоть чуть -чуть понимал в том о чем ты говориш , то не делал бы таких ошибок , а точнее если в таком  цикле создавать таблицу то будет всегда выдавать ошибку , потому-что скрипт пытается создать одну и туже таблицу два раза , что не возможно по определению , тут надо деййствовать через alter table !!!
PM MAIL   Вверх
skyboy
Дата 5.3.2007, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(box @  4.3.2007,  22:49 Найти цитируемый пост)
а точнее если в таком  цикле создавать таблицу то будет всегда выдавать ошибку

в каком цикле? у Glip приведен код, который надо вставить в цикл. а претензии вида "почему вы за меня не написали скрипт" принимаются только в том случае, если между мной(или Glip) и вами заключен контракт. в противном случае - добавляйте цикл сами.
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0775 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.