Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Problem z transakcją
Forum PHP.pl > Forum > Bazy danych > MySQL
djmentos
Witam.

Mam zapytanie, które prezentuje się tak i jest bardzo, ale to bardzo długie. (Troche je tu skróciłem)

Jest to wycinek ze skryptu PHP, którego zadaniem jest stworzyć nową bazę danych i wgrać do niej potrzebne dane. Jeżeli coś się nie powiedzie, to wszystko ma zostać cofnięte.

  1. START TRANSACTION;
  2. CREATE USER \''.$dblogin.'\'@\'localhost\' IDENTIFIED BY \''.$haslo.'\';
  3.  
  4. GRANT USAGE ON * . * TO \''.$dblogin.'\'@\'localhost\' IDENTIFIED BY \''.$haslo.'\' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
  5.  
  6. CREATE DATABASE IF NOT EXISTS `'.$dblogin.'`;
  7.  
  8. GRANT ALL PRIVILEGES ON `'.$dblogin.'` . * TO \''.$dblogin.'\'@\'localhost\' ;
  9.  
  10. USE forum_db;
  11.  
  12. INSERT INTO `configs` (id, domain, name, dbname, dbuser, dbpass, dbprefix) VALUES(0, \'domena\', \'nazwa\', \''.$dblogin.'\', '.$dblogin.'\', \''.$haslo.'\', \'s_\');
  13.  
  14. USE '.$dblogin.';
  15. -- tutaj pełno CREATE TABLE i INSERT
  16. COMMIT;


Tak logicznie rzecz biorąc to brakuje polecenia ROLLBACK, tyle, że jak wstawiam warunek:
  1. IF @@ERROR <> 0 ROLLBACK;

To błędem się to kończy składni.
cojack
Może ten link Ci pomoże: http://stackoverflow.com/questions/329622/...or-mysql-in-php
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-2025 Invision Power Services, Inc.