Sayed Ahmed Computer Engineering, BUET, Bangladesh MSC, Computer Science, U of Manitoba, Canada http://www.JustEtc.net http://sayed.justetc.net sayed@justetc.net PHP, PHP FRAMEWORKS AND DATABASE TOPICS Connection strategies Configuration for connection in different frameworks PHP and DB2, MSSQL Server Common database oriented operations Reference to DB oriented functions/classes CONNECTION mysql_connect mysqli_connect PDO PDO_ODBC Connection from Frameworks Code Igniter – configure for db connection CakePHP - configure for db connection Zend - configure for db connection MYSQL_CONNECT mysql_connect Opens a connection to a MySQL Server Deprecated as of PHP 5.5.0, and will be removed in the future. Instead use MySQLi or PDO_MySQL mysql_connect examples MYSQL_CONNECT EXAMPLES USING PORTS MYSQL_CONNECT USING PATH TO SOCKET MYSQLI_CONNECT — ALIAS OF MYSQLI::__CONSTRUCT() MYSQLI_CONNECT MYSQLI_CONNECT (OBJECT EXAMPLE) OBJECT ORIENTED STYLE CONNECTION WITH MYSQLI DATABASE CONNECTION WITH PDO PDO CONNECTION WHEN PARAMETERS IN A FILE PDO USING PHP.INI CONFIGURATIONS CODE IGNITER DATABASE CONFIGURATION application/config/database.php $db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = ""; $db['default']['database'] = "database_name"; $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = FALSE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_general_ci"; $db['default']['swap_pre'] = ""; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; Reference: http://ellislab.com/codeigniter/user-guide/database/configuration.html CAKEPHP AND MYSQL A copy of CakePHP’s database configuration file is found in /app/Config/database.php.default Make a copy of this file in the same directory, but name it database.php Change database.php as follows CAKEPHP AND MYSQL ZEND AND DATABASE CONFIGURATION Zend_Config_Ini enables developers to store configuration data in a familiar INI format PDO AND PREPARED STATEMENTS PDO FETCH AND PREPARED STMT PDO AND STORED PROCEDURE (OUT PARAM) PDO STRD PROC WITH IN/OUT PARAMS MYSQLI AND STORED PROCEDURE MYSQLI FETCHING RESULTS FROM STORED PROCEDURES PHP FUNCTIONS FOR SQL SERVER The name of the functions may closely resemble the functionality. # mssql_ bind # mssql_ close # mssql_ connect # mssql_ data_ seek # mssql_ execute # mssql_ fetch_ array # mssql_ fetch_ assoc # mssql_ fetch_ batch # mssql_ fetch_ field # mssql_ fetch_ object # mssql_ fetch_ row # mssql_ field_ length # mssql_ field_ name # mssql_ field_ seek # mssql_ field_ type # mssql_ free_ result # mssql_ free_ statement PHP FUNCTIONS FOR SQL SERVER # mssql_ get_ last_ message # mssql_ guid_ string # mssql_ init # mssql_ min_ error_ severity # mssql_ min_ message_ severity # mssql_ next_ result # mssql_ num_ fields # mssql_ num_ rows # mssql_ pconnect # mssql_ query # mssql_ result # mssql_ rows_ affected # mssql_ select_ db PHP AND IBM DB2 PHP has concepts like PDO and PDO_ODBC, and generic odbc features that will allow you to connect to and work with DB-2 databases. Generic odbc is the general/procedural way to connect to. PDO and PDO_ODBC are object oriented ways. PDO works with native IBM drivers. PDO_ODBC uses odbc connections to the DB2. For PHP you need to install drivers to support DB2. I worked with PDO_ODBC to connect to DB-2 databases in IBM iSeries servers. You need to install odbc db2 drivers for iseries servers. Then in /etc/odbcinst.ini file you need to mention driver specifications and in /etc/odbc.ini, you need to mention the odbc dsn name, database name, and some other parameters to connect to the database. Though, you may also supply some parameters in the PDO_ODBC connect method. PHP AND SQL SERVER STORED PROCEDURE PHP AND SQL SERVER STORED PROCEDURE MYSQL RELATED FUNCTIONS MYSQL RELATED FUNCTIONS MYSQL RELATED FUNCTIONS MYSQLI — THE MYSQLI CLASS mysqli::$affected_rows — Gets the number of affected rows in a previous MySQL operation mysqli::autocommit — Turns on or off auto-committing database modifications mysqli::begin_transaction — Starts a transaction mysqli::change_user — Changes the user of the specified database connection mysqli::character_set_name — Returns the default character set for the database connection mysqli::$client_info — Get MySQL client info mysqli::$client_version — Returns the MySQL client version as a stringmysqli::close — Closes a previously opened database connection MYSQLI — THE MYSQLI CLASS mysqli::commit — Commits the current transaction mysqli::$connect_errno — Returns the error code from last connect call mysqli::$connect_error — Returns a string description of the last connect error mysqli::__construct — Open a new connection to the MySQL server mysqli::debug — Performs debugging operations mysqli::dump_debug_info — Dump debugging information into the log mysqli::$errno — Returns the error code for the most recent function call MYSQLI — THE MYSQLI CLASS mysqli::$error_list — Returns a list of errors from the last command executed mysqli::$error — Returns a string description of the last error mysqli::$field_count — Returns the number of columns for the most recent query mysqli::get_charset — Returns a character set objectmysqli::get_client_info — Get MySQL client info mysqli_get_client_stats — Returns client per-process statistics mysqli_get_client_version — Returns the MySQL client version as an integer mysqli::get_connection_stats — Returns statistics about the client connection mysqli::$host_info — Returns a string representing the type of connection used mysqli::$protocol_version — Returns the version of the MySQL protocol used mysqli::$server_info — Returns the version of the MySQL server mysqli::$server_version — Returns the version of the MySQL server as an integer mysqli::get_warnings — Get result of SHOW WARNINGS MYSQLI — THE MYSQLI CLASS mysqli::$info — Retrieves information about the most recently executed querymysqli::init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()mysqli::$insert_id — Returns the auto generated id used in the last querymysqli::kill — Asks the server to kill a MySQL threadmysqli::more_results — Check if there are any more query results from a multi querymysqli::multi_query — Performs a query on the databasemysqli::next_result — Prepare next result from multi_querymysqli::options — Set optionsmysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone downmysqli::poll — Poll connectionsmysqli::prepare — Prepare an SQL statement for executionmysqli::query — Performs a query on the databasemysqli::real_connect — Opens a connection to a mysql servermysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connectionmysqli::real_query — Execute an SQL query MYSQLI_STMT — THE MYSQLI_STMT CLASS mysqli_stmt::$affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statementmysqli_stmt::attr_get — Used to get the current value of a statement attributemysqli_stmt::attr_set — Used to modify the behavior of a prepared statementmysqli_stmt::bind_param — Binds variables to a prepared statement as parametersmysqli_stmt::bind_result — Binds variables to a prepared statement for result storagemysqli_stmt::close — Closes a prepared statementmysqli_stmt::data_seek — Seeks to an arbitrary row in statement result setmysqli_stmt::$errno — Returns the error code for the most recent statement callmysqli_stmt::$error_list — Returns a list of errors from the last statement executed MYSQLI_RESULT — THE MYSQLI_RESULT CLASS mysqli_result::$current_field — Get current field offset of a result pointermysqli_result::data_seek — Adjusts the result pointer to an arbitrary row in the resultmysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or bothmysqli_result::fetch_array — Fetch a result row as an associative, a numeric array, or bothmysqli_result::fetch_assoc — Fetch a result row as an associative arraymysqli_result::fetch_field_direct — Fetch meta-data for a single fieldmysqli_result::fetch_field — Returns the next field in the result setmysqli_result::fetch_fields — Returns an array of objects representing the fields in a result setmysqli_result::fetch_object — Returns the current row of a result set as an objectmysqli_result::fetch_row — Get a result row as an enumerated array MYSQLI_DRIVER, MYSQLI_WARNING mysqli_driver — The mysqli_driver classmysqli_driver::embedded_server_end — Stop embedded server mysqli_driver::embedded_server_start — Initialize and start embedded server mysqli_driver::$report_mode — Enables or disables internal report functions mysqli_warning — The mysqli_warning classmysqli_warning::__construct — The __construct purpose mysqli_warning::next — The next purpose mysqli_sql_exception — The mysqli_sql_exception class PDO — THE PDO CLASS PDO::beginTransaction — Initiates a transactionPDO::commit — Commits a transactionPDO::__construct — Creates a PDO instance representing a connection to a databasePDO::errorCode — Fetch the SQLSTATE associated with the last operation on the database handlePDO::errorInfo — Fetch extended error information associated with the last operation on the database handlePDO::exec — Execute an SQL statement and return the number of affected rowsPDO::getAttribute — Retrieve a database connection attribute PDOSTATEMENT — THE PDOSTATEMENT CLASS PDOStatement::bindColumn — Bind a column to a PHP variablePDOStatement::bindParam — Binds a parameter to the specified variable namePDOStatement::bindValue — Binds a value to a parameterPDOStatement::closeCursor — Closes the cursor, enabling the statement to be executed again.PDOStatement::columnCount — Returns the number of columns in the result setPDOStatement::debugDumpParams — Dump an SQL prepared commandPDOStatement::errorCode — Fetch the SQLSTATE associated with the last operation on the statement handlePDOStatement::errorInfo — Fetch extended error information associated with the last operation on the statement handle PDOEXCEPTION, MISC PDOException — The PDOException class PDO DriversCUBRID (PDO) — CUBRID Functions (PDO_CUBRID) MS SQL Server (PDO) — Microsoft SQL Server and Sybase Functions (PDO_DBLIB) Firebird/Interbase (PDO) — Firebird/Interbase Functions (PDO_FIREBIRD) IBM (PDO) — IBM Functions (PDO_IBM)