nilsh Skrevet 5. desember 2009 Del Skrevet 5. desember 2009 Hei! Er det noen forskjell på hvordan jeg skriver spørringer mot en innoDB kontra myISAM-base? Prøver å oppnå ACID og transaksjoner. Hvordan skrive scriptene for transaksjoner..? Nå har jeg helt enkle spørringer som f.eks: $tilkobling = kobleTil("*****************"); $fornavn = mysql_real_escape_string($_POST['fornavn']); $etternavn = mysql_real_escape_string($_POST['etternavn']); ****** ****** ****** $sql = "INSERT INTO `Kunder` ( `kundeid` , `fornavn` , `etternavn` , `adresse` , `postnr` , `poststed` , `telefon1` , `telefon2` , `epost` , `serviceavtale` , `notat` ) VALUES ( NULL , '{$fornavn}', '{$etternavn}', '{$adresse}', '{$postnr}', '{$poststed}', '{$telefon1}', '{$telefon2}', '{$epost}', '{$serviceavtale}', '{$notat}');"; $resultat = mysql_query($sql, $tilkobling); //var_dump($sql); ?> Ny kunde registrert!</td></tr> Lenke til kommentar
alfred97 Skrevet 7. desember 2009 Del Skrevet 7. desember 2009 (endret) Transaksjoner handler jo om at man "samler opp" sql-statements, for så å kjøre alle på en gang når man til slutt angir COMMIT. MySQL er i utgangspunktet i autocommit-modus - det vil si at databaseserveren mottar en implisitt COMMIT for hvert SQL-statement du sender inn. For å utnytte transaksjoner fullt ut, har du derfor to alternativer. Det ene er å slå av autocommit, slik at alle statements må følges opp manuelt av COMMIT. Det andre er å sette opp en eksplisitt transaksjon med BEGIN. Du sender da inn "BEGIN; sql-statement1; sql-statement2; ... ; sql-statementN; COMMIT;". Eventuelt ROLLBACK i stedet for COMMIT - hvilket vil kansellere hele rekka med sql-statements som er angitt siden BEGIN. For øvrig hørte dette kanskje mer hjemme under databaseforumet enn under PHP. Endret 7. desember 2009 av alfred97 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå