Potrzebuje wykonać kilka operacji SQL, jedna po drugiej. Chodzi o czyszczenie bazy danych i ustawianie nowych użytkowników po czyszczeniu.
Problmeme jest to, że tych zapytyańjest około 80.
Kod wyglada tak:
$sql_czyscimy_baze_delete = ' DELETE FROM `tabela1`; DELETE FROM `tabela2`; DELETE FROM `tabela3`; DELETE FROM `tabela4`; DELETE FROM `tabela5`; DELETE FROM `tabela6`; DELETE FROM `tabela7`; DELETE FROM `tabela8`; '; $sql_czyscimy_baze_add = ' INSERT INTO *** () VALUES(); INSERT INTO *** () VALUES(); INSERT INTO *** () VALUES(); '; $sql_czyscimy_baze_update = ' UPDATE tabela2 SET aaa='11' WHERE ***; UPDATE tabela5 SET aaa='22' WHERE ***; .... '; $db2 = new PDO('mysql:host='.$host.';dbname='.$db, $db_user, $db_pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'") ); try { $db2->exec($sql_czyscimy_baze_delete); $db2->exec($sql_czyscimy_baze_add); $db2->exec($sql_czyscimy_baze_update); #echo "<br>- Dostosowujemy baze! \n"; //Done / Zakończenie $result_array['status'] = 'OK'; $result_array['msg'] = ' * Dostosowujemy baze!'; } catch (PDOException $e) { $result_array['status'] = 'ERROR'; $result_array['msg'] = ' * ' . $e->getMessage(); //mail();//wysyla infomracje ze blad mysql }
Problemem jest to, że jak się zmieni struktura bazy danych i jakiś zapytanuie w trakcie jest nieporpawne, to dalsze już się nie wykonują :/
Jak można to rozwiązać, żeby mimo niepoprawnego błędnego zapyutania, żeby PDO zwracało mi nomunikat z błędem ale leciało dalej i wykonywało reszte zapytan?
Zauważyłęm też, że mimo, że niektóre zapyutania się nie wykonuja np widziałem że nie wykonało sięczęść insertów, to nie dostalem żadnego komunikatu a mam raportowanie na E_ALL + jest echo echo $e->getMessage();