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

Форум MySQL

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

 

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

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

тема: создание таблицы
 
 автор: varvar   (05.09.2008 в 10:59)   письмо автору
 
 

вывожу такой запрос на создание таблицы:
if(session_start())
{
$_SESSION['user'] = $name;
$_SESSION['password'] = $password;
// Запрос на создание таблицы для юзера

$ath=mysql_query("CREATE TABLE". $_SESSION['user']." (`id` int(5) NOT NULL auto_increment,
`data` int(8) NOT NULL,
`zar` int(8) NOT NULL,
`count` int(8) NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`))");

if (isset($ath)) {
print "table created";
}
else {echo "error";}
}
как результат получаю "table created" но таблица не создаётся. Какая у меня ошибка?

  Ответить  
 
 автор: Trianon   (05.09.2008 в 11:03)   письмо автору
 
   для: varvar   (05.09.2008 в 10:59)
 

Вы переменной $ath значение присвоили?
т.е. переменную создали?
переменная создана - isset возвращает true.
Чем Вы недовольны?

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:10)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:03)
 

да,но конечная цель то создать таблицу,а она не создаётся... в конце это только проверка,кстати действительно не верная,поправил,добавил:
$ath=mysql_query("CREATE TABLE". $_SESSION['user']." (`id` int(5) NOT NULL auto_increment,
`data` int(8) NOT NULL,
`zar` int(8) NOT NULL,
`count` int(8) NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`))");
$bbb = mysql_query($ath);
if ($bbb) {
print "table created";
}
else {echo "error";}

щас естесственно пишет error. как поправить код чтобы таблица таки создавалась?

  Ответить  
 
 автор: Trianon   (05.09.2008 в 11:11)   письмо автору
 
   для: varvar   (05.09.2008 в 11:10)
 

Кроме error неплохо вывести какую-нибудь диагностику.
Я бы вывел текст SQL-запроса, который исполнял, и результат функции mysql_error()

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:15)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:11)
 

сделал,получил такое:. Query was empty. что надо обязательно заполнять поля данными?

  Ответить  
 
 автор: Trianon   (05.09.2008 в 11:20)   письмо автору
 
   для: varvar   (05.09.2008 в 11:15)
 

Текст sql-запроса вы не вывели.
Показывайте код.

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:22)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:20)
 

вот полный код:
if(session_start())
{
$_SESSION['user'] = $name;
$_SESSION['password'] = $password;

$ath=mysql_query("CREATE TABLE". $_SESSION['user']." (`id` int(5) NOT NULL auto_increment,
`data` int(8) NOT NULL,
`zar` int(8) NOT NULL,
`count` int(8) NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`))");
$bbb = mysql_query($ath);
if ($bbb) {
print "table created";
}
else {echo "error"; exit(mysql_error());}

}
}
else
{
echo "Ошибка идентификации: неправильный пароль";
exit();
}
просто задача в том чтобы при авторизации пользователя помимо перехода на основную страницу,создавалась в добавок таблица с его данными

  Ответить  
 
 автор: Trianon   (05.09.2008 в 11:24)   письмо автору
 
   для: varvar   (05.09.2008 в 11:22)
 

Я не вижу выведеннного текста sql-запроса.
Так чтобы echo $sql;
и оно напечатало Вашу CREATE TABLE...

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:26)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:24)
 

извините не понял,как это сделать?

  Ответить  
 
 автор: Trianon   (05.09.2008 в 11:28)   письмо автору
 
   для: varvar   (05.09.2008 в 11:26)
 

$sql="CREATE TABLE ....
....
PRIMARY KEY (`id`))");
$ath = mysql_query($sql);
и т.д.

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:32)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:28)
 

а,ок,секунду

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:40)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:28)
 

вот так?
if(session_start())
{
$_SESSION['user'] = $name;
$_SESSION['password'] = $password;

$sql="CREATE TABLE IF NOT EXISTS" . $_SESSION['user']. "(
`id` int(5) NOT NULL auto_increment,
`data` int(8) NOT NULL,
`zar` int(8) NOT NULL,
`count` int(8) NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;"
$ath = mysql_query($sql);
if ($ath) {
print "table created";
}
else {echo "error"; exit(mysql_error());}

}
}
else
{
echo "Ошибка идентификации: неправильный пароль";
exit();
}

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:54)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:28)
 

получил такую вещь:
CREATE TABLE IF NOT EXISTSvarvar( `id` int(5) NOT NULL auto_increment, `data` int(8) NOT NULL, `zar` int(8) NOT NULL, `count` int(8) NOT NULL, `description` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM ;
error
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 'EXISTSvarvar( `id` int(5) NOT NULL auto_increment, `data` int(8) NOT NULL,' at line 1

  Ответить  
 
 автор: varvar   (05.09.2008 в 11:58)   письмо автору
 
   для: Trianon   (05.09.2008 в 11:24)
 

всё,разобрался,надо было пробелы добавить при включении глобального массива в запрос ) спасибо огромное за помощь!

  Ответить  
Rambler's Top100
вверх

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