mysqli_query - usunięcie rekordów z wielu tabel

0

Witam,

Staram się napisać polecenie usuwające rekord z tabeli wraz z powiązanymi rekordami z innych tabel.
Postać polecenia:
DELETE c, lu FROM company AS c LEFT JOIN contactLineup AS lu ON lu.compID = c.ID WHERE c.ID = '{$_POST['ID']}
Niestety skrypt zwraca błąd:

No database selected

Co ciekawe gdy to samo polecenie wkleje do PHPMyAdmin'a działa bez problemu.
Gdzie może tkwić problem?

0

Jak byk masz napisane w komunikacje błędu. Jak nie rozumiesz, to odpal pierwszy lepszy tutorial PHP z BD, a komuniat błędu wrzuć do translatora.

0

Tak jak brzmi komunikat błędu - nie wybrałeś bazy danych :-)

Musisz wykonać SQLowe polecenie use nazwa_bazy; lub przekazać nazwę bazy jako parametr do PDO / mysqli.

0

Doprecyzuję:

Ogólna postać wyrażenia wygląda następująco:
DELETE c, lu FROM " . $bn_company . " AS c LEFT JOIN " . $bn_contLU . " AS lu ON lu.custID = c.ID WHERE c.ID = '{$_POST['ID']}'

W miejscu $bn_company wstawiane zostaje vitro.company, a w miejscu $bn_contLU wstawiane vitro.contactLineup, gdzie vitro to nazwa bazy danych, a company i contactLineup to nazwy tabel. MIMO TO serwer zwraca błąd "No database selected".

Wyrażenia podobnej konstrukcji stosuje w dziesiątkach innych miejsc i działają bez najmniejszego problemu.

0

Musisz albo w mysqli_connect przekazać 4 parametr - nazwę bazy, albo wykonać mysqli_select_db
EDIT: Nie w _connect, tylko w konstruktorze

0

Działa, wielkie dzięki.
Swoją drogą ciekawe, że usunięcie rekordów z wielu tabel wymaga innej konstrukcji niż choćby zwykły DELETE

1 użytkowników online, w tym zalogowanych: 0, gości: 1