Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dynamiczne tworzenie tabel w mysql
-zwiteq-
post
Post #1





Goście







Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
chce sobie generowac automatycznie ilosc kolumn w tablei w bazie MySQL
zmajstrowalem sobie taki skrypcik ale nie umiem sobie poradzic z błędem moze ktos podpowie

<?php
$conn=mysql_connect("192.168.0.182", "root");
mysql_select_db("praca", $conn);

//to tworzy tabele i zapisuje kolumny ktore maja byc w niej zawsze

mysql_query("CREATE TABLE dni1 (imie VARCHAR(30), nazwisko VARCHAR(30), nr_skf VARCHAR(30), nr_sluzb VARCHAR(30))", $conn);

// to dopisuje kolumny ktore sa zal od zmiennej $i i tu ma wlasnie ich ilosc sie
//zmieniac w tym wyp do 26 i TU MAM PROBLEM!!! (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

for($i=1;$i<=26;$i++){
mysql_query("ALTER TABLE dni1 ADD ($i VARCHAR(30))", $conn);
}
echo mysql_errno();
echo mysql_error();
?>

przegladarka informuje mnie że:

1064 You have an error in your SQL syntax near 'VARCHAR(30))' at line 1

mam blad obok VARC...

chodzi chyba o obsluge cudzyslowia ja wpisuje tam nazwe zmiennej chce miec
tabele ktora wyglada tak /nazwy kolumn w zal od wart zmiennej $i /
imie nazwisko nr_skf nr_sluzb 1 2 3 4 5 6 ...
motam sie i motam pewnie jakis
prosty babol kombinowalem ze
slahchami cudzyslowami i tylko blad jak to ma
wyglaadac (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
z góry dzieki za podopowiedz
witek
ps
sorki za tak lamerskie pytanko ale jakos nie moge sobie dac z tym rady (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




masz błąd skladni. masz linka i popatrz se jak ma to wyglądać:
http://mysqld.active-venture.com/ALTER_TABLE.html

ty chyba nipotrzebnie nawiasy dajesz
Go to the top of the page
+Quote Post
-zwiteq-
post
Post #3





Goście







nie raczej nie kiedy usuwam znak $ ($i) tak ze zostaje samo i instrukcja dziala poprawnie tzn dodaje mi kolumne o nazwie "i"
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




no to najwyraźniej nie są akceptowane cyfry.
wyswietl se te zapytanie z $i, i wstaw je recznie do bazy. zobacz czy ten sam blad ci wyskoczy
Go to the top of the page
+Quote Post
-zwiteq-
post
Post #5





Goście







Jak to z mądrym dobrze pogadać zapomnialem o tym cholera...
poniższa fig rozwiązała problem

$zmienna="zm"."$i";
mysql_query("ALTER TABLE dni1 ADD ($zmienna VARCHAR(30))", $conn);

Dzieki za pomoc i usuniecie chwilowej zacmy
czasem czlowiek glupieje
chyba trzeba isc na jakies piwo a nie programowac
ach dlaczego dzis nie piatek
pozdrawiam
wit
ps
prosze o zamkniecie tematu
(IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.12.2025 - 15:43