Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie tabel (nazyw tabel jako zmienne)
Forum PHP.pl > Forum > Bazy danych > MySQL
_Misiek_
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.
nospor
Nazwy tabel chyba nie trzeba brac w ciapkach
huntercs
dokładnie
np.
  1. <?php
  2. $table='nazwa_tabeli';
  3. mysql_query(&#092;"SELECT * FROM $table\");
  4. ?>
_Misiek_
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.
dr_bonzo
Nie sprawdalem w manualau -- ale moze chodzi o to ze mozna tylko jedna baze usuac w jednym poleceniu.
nospor
a może są jakieś powiązania między rekorami w tabelach. Jakieś innodb lub cos ala relacje.
Fipaj
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();
Yarecki
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.