een-of-ander-statement or die() niet puik :?

Pagina: 1
Acties:

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 12:07
Ik weet 't nog niet 100% zeker, maar ik heb 't vermoeden dat het or die() statement in bijvoorbeeld
code:
1
mysql_connect($database) or die(mysql_error());

niet helemaal goed werkt.

Naar mijn mening moet die() of exit() in classes ervoor zorgen dat het script onderbroken wordt, en dat enige classhandlers netjes worden opgeruimd.


Dit gebeurt volgens mij ook wel, maar databasetransacties die nog gebruik maken van deze handler worden om 1 of andere reden gewoon gecommit, ipv afgebroken, waardoor je weer nieuwe errors krijgt.

Is dit nou een database-afhankelijke bug, een feature, of iets wat php(lib) niet netjes afhandelt ?

btw Ik maak gebruik van phplib (http://phplib.netuse.de) en Oracle 8i database.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op maandag 19 november 2001 11:00 schreef TheDane het volgende:
Naar mijn mening moet die() of exit() in classes ervoor zorgen dat het script onderbroken wordt, en dat enige classhandlers netjes worden opgeruimd.
Nope... het is nog erger.... die of exit laat het script onmiddelijk afsterven. En alleen de gebruikelijke clean-up van PHP wordt gedraait. Dus de non-presistent connections worden afgesloten, geheugen vrijgemaakt, etc.
Dit gebeurt volgens mij ook wel, maar databasetransacties die nog gebruik maken van deze handler worden om 1 of andere reden gewoon gecommit, ipv afgebroken, waardoor je weer nieuwe errors krijgt.
Welke database transacties?

Alle transacties die je voor de error hebt gedaan die worden normaal afgehandeld. Als je transaction support hebt, dan moet er volgens mij nog steeds een "COMMIT" worden gestuurd, als dat niet gebeurt hoort er naar mijn mening een automatische "ROLLBACK" worden gedaan.

Alle transacties die je na de error wilt doen worden NIET uitgevoerd! script is dood!
Is dit nou een database-afhankelijke bug, een feature, of iets wat php(lib) niet netjes afhandelt ?

btw Ik maak gebruik van phplib (http://phplib.netuse.de) en Oracle 8i database.
Niet bekend mee... maar ik weet wel dat phplib een support forum/mailinglist http://marc.theaimsgroup.com/?l=phplib&r=1&w=2

Programmer - an organism that turns coffee into software.