Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Usuwanie tabel (nazyw tabel jako zmienne), pomóżcie znaleźć bład...
_Misiek_
post 22.02.2005, 23:15:19
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 22.02.2005

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


Mam w skrypcie takie zapytanie:

  1. <?php
  2. mysql_db_query($database, &#092;"Drop table '$jeden' , '$dwa' , '$trzy' , '$cztery'\") OR DIE (mysql_errno.' : '.mysql_error());
  3. ?>


Zmienne to nazwy tabel. Nie wiem gdzie tu jest błąd, ale wywala mi coś takiego:

Kod
mysql_errno : 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 ''1062_album' , '1062_album_cat' , '1062_album_comment' , '10


Proszę o jak pomoc... Ten skrypt jest dla mnie bardzo ważny.
Go to the top of the page
+Quote Post
nospor
post 24.02.2005, 07:56:28
Post #2





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




Nazwy tabel chyba nie trzeba brac w ciapkach


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
huntercs
post 24.02.2005, 10:02:53
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 6.02.2005

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


dokładnie
np.
  1. <?php
  2. $table='nazwa_tabeli';
  3. mysql_query(&#092;"SELECT * FROM $table\");
  4. ?>


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


Go to the top of the page
+Quote Post
_Misiek_
post 24.02.2005, 10:50:30
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 22.02.2005

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


Teraz jest bez ciapek, czyli tak:
  1. <?php
  2. mysql_db_query($database, &#092;"Drop table $jeden , $dwa , $trzy , $cztery\")  OR DIE (mysql_errno.' : '.mysql_error());
  3. ?>


Jednak znowu wywala błąd:
Kod
mysql_errno : 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 ' 1517_attachments, 1517_attachments_config, 1517_auth_access, 1


Dodam że tabele tak jak były tak są nadal. Wyrazy poprzedzone liczbami to oczywiście nazwy tabel jakby się ktoś nie orientował. Nadal proszę o pomoc.

Ten post edytował _Misiek_ 24.02.2005, 10:51:07
Go to the top of the page
+Quote Post
dr_bonzo
post 24.02.2005, 11:00:27
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Nie sprawdalem w manualau -- ale moze chodzi o to ze mozna tylko jedna baze usuac w jednym poleceniu.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
nospor
post 24.02.2005, 11:05:03
Post #6





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




a może są jakieś powiązania między rekorami w tabelach. Jakieś innodb lub cos ala relacje.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Fipaj
post 24.02.2005, 11:07:41
Post #7





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


Wydaje mi się, że musisz napisać coś takiego:
  1. <?php
  2. mysql_db_query($database, &#092;"Drop table $jeden\")  OR DIE (mysql_error.' : '.mysql_error());
  3. mysql_db_query($database, &#092;"Drop table $dwa\")  OR DIE (mysql_error.' : '.mysql_error());
  4. mysql_db_query($database, &#092;"Drop table $dwa\")  OR DIE (mysql_error.' : '.mysql_error());
  5. mysql_db_query($database, &#092;"Drop table $dwa\")  OR DIE (mysql_error.' : '.mysql_error());
  6.  
  7. ?>


zadziała

Bo był błąd w nazwie funkcji: nie ma funkcji mysql_errno(), tylko mysql_error();

Ten post edytował Fipaj 24.02.2005, 11:08:49


--------------------
Go to the top of the page
+Quote Post
Yarecki
post 24.02.2005, 11:48:07
Post #8





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 1.04.2004
Skąd: Gdynia

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


Do nazwy pierwszej tabeli, przez przypadek, dostał się znak '. ' Nie są sparowane..

@Fipaj: mysql_errno -- Zwraca numer komunikatu błędu z ostatniej operacji MySQL
@_Misiek_: mysql_errno powinno mieć () na końcu. Tak jak każda funkcja.


--------------------
Nigdy nie kłóć się z głupim, ludzie mogą nie dostrzec różnicy.
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: 14.08.2025 - 07:18