Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z utworzeniem tabel, ... syntax error?
bobens_83
post 28.02.2006, 22:23:54
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 7.11.2005
Skąd: z Czelsy

Ostrzeżenie: (0%)
-----


Witam. Mam problemy z utworzeniem tabel w bazie, mianowicie w pierwotnej wersji mialem deklarowane dla tabel i pol
  1. CHARACTER SET utf8 COLLATE utf8_polish_ci

jednak serwer sie buntowal i zwracal errory. Zrezygnowalem wiec chwilowo z kodowania, zdalem sie na ustawienia domyslne. Jednak nie w tym problem. W tej chwili 2/4 tabele tworza sie natomiast pozostale nie chca. Skrypt tworzacy abele wyglada nastepujaco:

  1. <?php
  2.  
  3. $q_art = "
  4. CREATE TABLE `art` (
  5. `id_art` INT( 3 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  6. `tytul_art` VARCHAR( 200 ) NOT NULL ,
  7. `naglowek_art` BLOB( 2000 ) NOT NULL , // <- cos nie tak?
  8. `tresc_art` BLOB( 10000 ) NOT NULL ,
  9. `user_art` VARCHAR( 10 ) NOT NULL ,
  10. `autor_art` VARCHAR( 100 ) NOT NULL ,
  11. `data_art` TIMESTAMP NOT NULL
  12. ) TYPE = innodb;
  13. ";
  14.  
  15. $q_img = "
  16. CREATE TABLE `img` (
  17. `id_img` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  18. `id_news` INT( 5 ) NOT NULL ,
  19. `name_img` VARCHAR( 50 ) NOT NULL ,
  20. `user_img` VARCHAR( 6 ) NOT NULL
  21. ) TYPE = innodb;
  22. ";
  23.  
  24. $q_news = "
  25. CREATE TABLE `news` (
  26. `id_news` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  27. `tytul_news` VARCHAR( 200 ) NOT NULL ,
  28. `tresc_news` BLOB( 5000 ) NOT NULL , // <- cos nie tak?
  29. `autor_news` VARCHAR( 100 ) NULL ,
  30. `user_news` VARCHAR( 6 ) NOT NULL ,
  31. `data_news` TIMESTAMP NOT NULL
  32. ) TYPE = innodb;
  33. ";
  34.  
  35. $q_user = "
  36. CREATE TABLE `user` (
  37. `id_user` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  38. `user_user` VARCHAR( 6 ) NOT NULL ,
  39. `pass_user` VARCHAR( 10 ) NOT NULL ,
  40. `imie_user` VARCHAR( 50 ) NOT NULL ,
  41. `email_user` VARCHAR( 50 ) NOT NULL
  42. ) TYPE = innodb;
  43. ";
  44.  
  45. #############################################
  46. $queries = array( $q_art, $q_img, $q_news, $q_user );
  47.  
  48. $db = mysql_connect( 'localhost', 'feniksroot', '********' );
  49. mysql_select_db( 'feniksbazawoiz' );
  50.  
  51. foreach( $queries as $key=>$value ){
  52. mysql_query( $value );
  53. echo '>>>'.mysql_error().'<<<<br>';
  54. }
  55.  
  56. mysql_close( $db );
  57.  
  58. ?>

a jego efekt to:

Cytat
>>>Something is wrong in your syntax obok '( 2000 ) NOT NULL , `tresc_art` BLOB( 10000 ) NOT NULL , `user' w linii 4<<<

>>>Something is wrong in your syntax obok '( 5000 ) NOT NULL , `autor_news` VARCHAR( 100 ) NULL , `user_n' w linii 4<<<




Prosze o opinie, gdyz moim zdaniem skladnia jest OK, poszczegolne zapytania sa wyciete za pomoca ctrl+c z PHPMyAdmin-a i jedynie zostalo z nich usuniete kodowanie oraz w 3 miejscach przy 'duzym tekscie' VARCHAR->BLOB.

Z góry dziekuje i pozdrawiam.

Ten post edytował bobens_83 28.02.2006, 22:29:16
Go to the top of the page
+Quote Post
spenalzo
post 28.02.2006, 22:49:24
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
>>>Something is wrong in your syntax obok '( 5000 ) NOT NULL , `autor_news` VARCHAR( 100 ) NULL , `user_n' w linii 4<<<


Cytat
`naglowek_art` BLOB( 2000 ) NOT NULL ,      // <- cos nie tak?
`tresc_art` BLOB( 10000 ) NOT NULL ,

Przy blob nie podaje sie rozmiaru. Poza tym do wartości tekstowych lepiej używać TEXT zamiast BLOB.


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 14:04