Op de bekende zoekmachine kom ik genoeg voorbeelden tegen van prepared statements i.c.m. transactions.
Maar toch werkt bij mij de rollback niet. Een exception op de 2e tabel, terwijl de 1e wel is toegevoegd.
Kan iemand mij uitleggen wat er fout gaat? Dit is de eerste keer dat ik transactions wil gebruiken.
Uhm.... dan heb je denk ik geen enkele engine die transactions ondersteunt. InnoDB is de meeste gebruikte die het ondersteunt (en die meestal wel geinstalleerd is), maar die zie ik er ook niet tussen staan.
Ik kan me InnoDB wel herinneren, maar zie hem er nu inderdaad niet (meer) tussen staan.
Misschien eens contact opnemen met m'n hosting of hun wat voor me willen/kunnen doen.
Bedankt voor je reactie in ieder geval. Ik weet nu in ieder geval waar het probleem ligt.
Toevoeging op 23/04/2014 15:51:54:
Ik krijg als antwoord van de support om de 'MariaDB database (BETA)' te gebruiken die wel InnoDB ondersteund.
Wat vinden jullie van MariaDB en is het verschil met MySQL erg groot?
Geen ervaring mee, maar een snelle blik op de Wikipedia pagina ( http://en.wikipedia.org/wiki/MariaDB ) leert dat het wel goed zou moeten zitten. Ontwikkeld door hetzelfde team als dat MySQL heeft ontwikkeld. Ik kan alleen zo snel niet vinden welke php mogelijkheden er zijn, maar iets zegt me dat je gewoon PDO moet kunnen gebruiken.
Blijkbaar is het een kopie, maar vanuit daar verder ontwikkelt. Dus is het eigenlijk MySQL maar met extra functies.
Ik ga morgen verder kijken hoe ik kan overschakelen.
The goal for Maria-DB is to be a drop-in replacement for MySQL – with more features and better performance.
MariaDB is based on the corresponding version of MySQL, if one exists. For example, MariaDB 5.1.53 is based on MySQL 5.1.53, with some added bug fixes, additional storage engines, new features, and performance improvements. Versions of MariaDB that do not have an equivalently numbered version of MySQL (e.g., MariaDB 5.2.4) contain major new features the developers felt warranted a new version number. When comparing the two here, I’ll focus on the additional features of MariaDB.
Ik vind het wel typisch dat een hosting adviseert om MariaDb te gaan gebruiken omdat de MySQL versie die zij draaien geen InnoDB engine heeft. Welke versie is dat?
Ozzie, bedankt. Dat maakt in ieder geval duidelijk dat je om mariadb te gebruiken niks hoeft aan te passen. Dus heb er zeker wat aan.
Ger & Ward, ja bijzonder is t wel. Ik weet ook niet hoeveel werk het voor hun is om InnoDB op MySQL te installeren? Ze kunnen vast niet aan alle gebruikerswensen gehoor geven.
Ger, Welke versie MySQL? Waar kan ik dat vinden? In phpinfo() staat 'MySQL Client API version 5.5.35' en in phpmyadmin staat 'MySQL-client versie: 5.1.72'.
[edit]
Voor de MySQL is het versie 5.1.73
Voor MariaDB is de MySQL versie 5.5.36
[/edit]
Toevoeging op 23/04/2014 20:33:23:
Ik heb zojuist een database aangemaakt in MariaDB er hier de tabellen in geïnstalleerd.
Standaard staat deze engine wel op InnoDB en de rollback werkt! :)