freelance, web developer, web designer, hosting, domain name
Generic ADO, not tuned for specific databases. Allows DSN-less connections. For best performance, use an OLEDB provider. This is the base class for all ado drivers.
You can set $db->codePage before connecting.
Unix and Windows. Requires IBM DB2 Universal Database client.
Unix and Windows. Unix install hints. I have had reports that the $host and $database params have to be reversed in Connect() when using the CLI interface.
Unix and Windows
Microsoft SQL Server 7 and later. Works with Microsoft SQL Server 2000 also. Note that date formating is problematic with this driver. For example, the PHP mssql extension does not return the seconds for datetime!
Unix and Windows. Unix install howto and another one.
Portable mssql driver. Identical to above mssql driver, except that '||', the concatenation operator, is converted to '+'. Useful for porting scripts from most other sql variants that use ||.
Unix and Windows. Unix install howto.
MySQL with transaction support. We recommend using || as the concat operator for best portability. This can be done by running MySQL using: mysqld --ansi or mysqld --sql-mode=PIPES_AS_CONCAT
There are 2 ways of connecting - with server IP and service name: PConnect('serverip:1521','scott','tiger','service') or using an entry in TNSNAMES.ORA or ONAMES or HOSTNAMES: PConnect(false, 'scott', 'tiger', $oraname).
Since 2.31, we support Oracle REF cursor variables directly (see ExecuteCursor).
Use this driver if porting from other databases is important. Otherwise the oci8 driver offers better performance.
Unix and Windows.
In "sqlitepo" driver, the table names are stripped from the returned column names. When this results in a conflict, the first field get preference.
The column "RecordCount() usable" indicates whether RecordCount() return the number of rows, or returns -1 when a SELECT statement is executed. If this column displays Y/N then the RecordCount() is emulated when the global variable $ADODB_COUNTRECS=true, which is the default. Note that for large recordsets, it might be better to disable RecordCount() emulation because substantial amounts of memory are required to cache the recordset for counting. This variable is checked every time a query is executed, so you can selectively choose which recordsets to count.