|
|
|
|
|
для: Серость
(25.06.2008 в 19:32)
| | Таблица не создается потому что не правильный синтаксис:
<php
if (!mysql_query('CREATE TABLE test (id_user INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id_user)
) CHARACTER SET cp1251')) exit(mysql_error());
foreach ($arr as $value)
{
if (!mysql_query("ALTER TABLE test ADD $value TINYTEXT")) exit(mysql_error());
}
|
| |
|
|
|
|
|
|
| $kol_new_stolbcov - Переменная, в которой хранится число - количество столбцов в создаваемой таблице.
$stolbec - Массив, в котором хранятся названия каждого столбца таблицы.
$make_table = mysql_query("CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
for ($b=0; $b<$kol_new_stolbcov; $b++)
{
if ($kol_new_stolbcov - $b == 1)
{
$stolbec[$b] VARCHAR(500)
}
else
{
$stolbec[$b] VARCHAR(500),
}
}
)",$link);
|
По задумке, в итоге, в базе данных должна появиться таблица, состоящая из $kol_new_stolbcov столбцов + еще один столбец (самый первый) "id", который является ключем таблицы. Каждый столбец будет иметь название, которое содержится в массиве $stolbec.
Почему код не работает ? Пробовал более простой вариант. Вместо цикла подставлял:
$stolbec[0] VARCHAR (50),
$stolbec[1] Varchar (10)
|
тогда все пашет. При использовании "for" никаких ошибок не вылетает. Просто в БД не создается таблицы и все. | |
|
|
|
|