Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL] Jak utworzyć tabelę o nazwie zmiennej?
kopek
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


  1. <?php
  2. include ("funkcje.php");    
  3. polacz();
  4. $data=date("Y-m-d");
  5. echo $data;
  6.  
  7. $tabela = 'CREATE TABLE $data (login VARCHAR(25), data_log DATETIME, data_wylog DATETIME )';
  8. $wynik = mysql_query($tabela);
  9.  
  10. if($wynik){
  11.  
  12. echo '
  13. Tabela utworzona pomyślnie.';
  14.  
  15. }
  16. else{
  17.  
  18. echo '
  19. Tabela nie mogła zostać utworzona.';
  20.  
  21. }
  22. rozlacz();
  23. ?>


Tworzy się tabela która nazywa się $data a ja chcę aby nazwa wyglądała na przykład: 2008-11-27.

Ten post edytował kopek 27.11.2008, 22:52:31
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pytanie z pracy domowej: Jaka jest różnica między pojedynczym a podwójnym cudzysłowem? snitch.gif


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kopek
post
Post #3





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


Apostrof informuje, że nie pojawią się w nim żadne zmienne, które trzeba by było dodatkowo przetwarzać. Natomiast cudzysłów daje nam sygnał, że takie zmienne mogą się pojawić.
Niestety zamiana apostrofu na cudzysłów nie pomogła.
Go to the top of the page
+Quote Post
bobo168
post
Post #4





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


  1. <?php
  2. include ("funkcje.php");    
  3. polacz();
  4. $data=date("Y-m-d");
  5. echo $data;
  6.  
  7. $tabela = 'CREATE TABLE '.$data.' (login VARCHAR(25), data_log DATETIME, data_wylog DATETIME )';
  8. $wynik = mysql_query($tabela);
  9.  
  10. if($wynik){
  11.  
  12. Tabela utworzona pomyślnie.';
  13.  
  14. }
  15. else{
  16.  
  17. Tabela nie mogła zostać utworzona.';
  18.  
  19. }
  20. rozlacz();
  21. ?>

Powinno działac.
Go to the top of the page
+Quote Post
kopek
post
Post #5





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


Niestety nie zadziałało. Pojawia się komunikat, że tabela nie mogła zostać utworzona.
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




mysql_error" title="Zobacz w manualu PHP" target="_manual


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bobo168
post
Post #7





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


No to wpisz sobie:
  1. <?php
  2. echo $tabela;
  3. ?>

i zobacz jak wygląda zapytanie...
Go to the top of the page
+Quote Post
kopek
post
Post #8





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


Taki wywala błąd na dla zmiennej $tablica:
Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in ... on line 8

Tak wygląda efekt echo $tablica:
CREATE TABLE 2008-11-27 (login VARCHAR(25), data_log DATETIME, data_wylog DATETIME )

Więc wygląda tak jak powinno ale jednak jest jakiś błąd, na którego nie wiem co mam poradzić.
Go to the top of the page
+Quote Post
bobo168
post
Post #9





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


Heh powód jest bardzo prosty nazwa tabeli nie może zawierac znaku '-' smile.gif
Go to the top of the page
+Quote Post
kopek
post
Post #10





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


Usunąłem znak myślnika i data wygląda teraz w następujący sposób: 20081127 (taki zbitek cyferek). Niestety nadal jest ten sam błąd, więc nie sądzę żeby myślnik był problemem.
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A może by tak nazwę tabeli w cudzysłów wrzucić? ;]


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kopek
post
Post #12





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


  1. <?php
  2. $tabela = 'CREATE TABLE "$data" (login VARCHAR(25), data_log DATETIME, data_wylog DATETIME )';
  3. ?>


Wrzuciłem w cudzysłów ale niestety nie pomogło. Nadal nie tworzy tabeli. Chyba, że źle zrozumiałem podpowiedź z cudzysłowem...
Go to the top of the page
+Quote Post
erix
post
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Masz teraz niedozwolony znak. winksmiley.jpg

Mi zadziałało zapytanie:

  1. CREATE TABLE `20080124` (login VARCHAR(25), data_log DATETIME, data_wylog DATETIME )


Ten post edytował erix 28.11.2008, 00:03:24


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
kopek
post
Post #14





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


Ciężka sprawa ponieważ mi to zapytanie nie działa. sadsmiley02.gif
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A jak je wywołujesz? Bo u mnie działa bez problemów.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bobo168
post
Post #16





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


  1. <?php
  2. include ("funkcje.php");    
  3. polacz();
  4. $data=date("Y-m-d");
  5. echo $data;
  6.  
  7. $tabela = 'CREATE TABLE `'.$data.'` (login VARCHAR(25), data_log DATETIME, data_wylog DATETIME )';
  8. $wynik = mysql_query($tabela);
  9.  
  10. if($wynik){
  11.  
  12. Tabela utworzona pomyślnie.';
  13.  
  14. }
  15. else{
  16.  
  17. Tabela nie mogła zostać utworzona.';
  18.  
  19. }
  20. rozlacz();
  21. ?>

Kal dla mnie musi działac, ale nie chce mi sie sprawdzac smile.gif
Go to the top of the page
+Quote Post
kopek
post
Post #17





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 24.02.2008
Skąd: Łódź

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


Już wiem skąd nieporozumienie... Faktycznie kod bobo168 działa... Pomyliłem znaczek ' z ` i stąd całe zamieszanie...
Dziękuje za wyprostowanie całej sytuacji.
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 Aktualny czas: 20.08.2025 - 20:21