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

Форум MySQL

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

 

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

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

тема: создание таблиц
 
 автор: lexal   (22.06.2006 в 12:11)   письмо автору
 
 

Подскажите как скриптом создать таблицу?

   
 
 автор: kolobokk   (22.06.2006 в 12:18)   письмо автору
 
   для: lexal   (22.06.2006 в 12:11)
 


$query=mysql_query("create table table1 (id int(5) primary key, name text)");

   
 
 автор: lexal   (22.06.2006 в 12:24)   письмо автору
 
   для: kolobokk   (22.06.2006 в 12:18)
 

>

> (id int(5) primary key, name text)");
>

Это поясните пожалуйста

   
 
 автор: kolobokk   (22.06.2006 в 12:29)   письмо автору
 
   для: lexal   (22.06.2006 в 12:24)
 

это поля в создаваемой таблице
в примере id - ключевое числовое поле (макс 5 знаков) , name - текстовое поле

   
 
 автор: lexal   (22.06.2006 в 12:32)   письмо автору
 
   для: kolobokk   (22.06.2006 в 12:29)
 

name - это имя столбца, понятно, а id зачем?

   
 
 автор: cheops (из кафе)   (22.06.2006 в 12:45)
 
   для: lexal   (22.06.2006 в 12:32)
 

Это тоже имя столбца.

   
 
 автор: cheops (из кафе)   (22.06.2006 в 12:46)
 
   для: lexal   (22.06.2006 в 12:32)
 

Т.е. в будущей таблице - два столбца: id и name.

   
 
 автор: lexal   (22.06.2006 в 12:53)   письмо автору
 
   для: cheops (из кафе)   (22.06.2006 в 12:46)
 

а нельзя сделать так:

$query=mysql_query("create table $_POST[name] (first text, second text)");  

?

   
 
 автор: kolobokk   (22.06.2006 в 13:27)   письмо автору
 
   для: lexal   (22.06.2006 в 12:53)
 

можно

   
 
 автор: lexal   (22.06.2006 в 13:33)   письмо автору
 
   для: kolobokk   (22.06.2006 в 13:27)
 

ошибку выдаёт:
Column count doesn't match value count at row 1

   
 
 автор: lexal   (22.06.2006 в 13:52)   письмо автору
 
   для: lexal   (22.06.2006 в 13:33)
 

что тут неправельно?

<?php 

  
require_once("config.php"); 

  if (!
get_magic_quotes_gpc()) 
  { 
    
$_POST['name'] = mysql_escape_string($_POST['name']); 
$_POST['name2'] = mysql_escape_string($_POST['name2']);
  } 
  
$query=mysql_query("create table $_POST[name] (first text, second text)");  

 
$query "INSERT INTO $_POST[name] VALUES('$_POST[name]')";
$query "INSERT INTO $_POST[name] VALUES('$_POST[name2]')";
  if(!
mysql_query($query)) exit(mysql_error()); 
  else echo 
"Данные успешно добавлены"
?> 

   
 
 автор: valenok   (22.06.2006 в 14:57)   письмо автору
 
   для: lexal   (22.06.2006 в 13:52)
 


<?php 

  
require_once("config.php"); 

  if (!
get_magic_quotes_gpc()) 
  { 
    
$_POST['name'] = mysql_escape_string($_POST['name']); 
$_POST['name2'] = mysql_escape_string($_POST['name2']); 
  } 
  
$query=mysql_query("CREATE TABLE '".$_POST['name']."' ('text1' VARCHAR( 255 ) NOT NULL ,'text2' VARCHAR( 255 )NOT NULL );");   

$query "INSERT INTO '".$_POST[name]."' VALUES('".$_POST[name]"','"$_POST['name2']."')"
  if(!
mysql_query($query)) exit(mysql_error()); 
  else echo 
"Данные успешно добавлены"
?>

   
 
 автор: valenok   (22.06.2006 в 15:00)   письмо автору
 
   для: valenok   (22.06.2006 в 14:57)
 

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

А то что он тебе выдал : колво вводимых данных не соответсвует колву столбцов в таблице.

   
 
 автор: valenok   (22.06.2006 в 15:03)   письмо автору
 
   для: lexal   (22.06.2006 в 13:33)
 

Для того чтобы ввести информацию не во все ячейки строки:

<?php
mysql_query
("INSERT INTO table ('text','text2','text77') VALUES('inp1','inp2','inp77')",$link);


Название таблицы стоило бы заключить в обратные косые кавычки.
Тоесть то что при английской раскладке находится там где буква Ё.

   
 
 автор: lexal   (22.06.2006 в 15:59)   письмо автору
 
   для: valenok   (22.06.2006 в 15:03)
 

ясно вроде, спасибо

   
 
 автор: lexal   (22.06.2006 в 16:07)   письмо автору
 
   для: lexal   (22.06.2006 в 15:59)
 

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /usr/local/www/testing.na.ru/WWW/handler.php on line 13
13 строка : $query = "INSERT INTO '".$_POST[name]."' VALUES('".$_POST[name]"','"$_POST['name2']."')";

   
 
 автор: kolobokk   (22.06.2006 в 16:57)   письмо автору
 
   для: lexal   (22.06.2006 в 16:07)
 

у вас не правильно составлен запрос - вам же valenok написал :
колво вводимых данных не соответсвует колву столбцов в таблице.
т.е. должно быть так

$query = "INSERT INTO '".$_POST['name']."' (text1, text2) VALUES('".$_POST['name']"','"$_POST['name2']."')";

и кстати вы там кавычки пропустили в $_POST[name]

   
Rambler's Top100
вверх

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