With InterBase, although you mostly either don't see it or do not have to care about it, everything you do happens inside a transaction. If you don't start one yourself, this module starts a new one automatically under the hood. We'll call this later on the default transaction, and every separate database connection you open will have its own. If it's still open when you either close the database connection or your script ends, it is committed automatically, unlike transactions started by yourself, which will be rolled back unless you have handled them. So, if your needs are simple and you don't use transactions, from your point of view this module behaves essentially the same way as any other database module in PHP. Note that with this module, transaction handles know to which connection they belong, and most functions taking a connection handle as their parameter alternatively accept a transaction handle too. A few of the functions dealing with BLOBs either return or take as their parameter a slightly cryptic "BLOB's internal ID in database". InterBase doesn't keep the contents of BLOB fields in a database row. It assigns every BLOB a 64-bit unsigned identification number instead, and you store this into a database and use it to access the BLOB's contents. But, because PHP doesn't have a 64-bit unsigned number type, the BLOB's internal ID is converted into an (almost...) human readable string for you to use.
Table of Contents