410 likes | 566 Views
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. Connection strategies C onfiguration for connection in different frameworks
E N D
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
Connectionstrategies Configurationforconnectionindifferentframeworks PHP and DB2, MSSQL Server Commondatabaseorientedoperations Reference to DB orientedfunctions/classes Topics
mysql_connect • mysqli_connect • PDO • PDO_ODBC • ConnectionfromFrameworks • Code Igniter – configure for db connection • CakePHP - configure for db connection • Zend - configure for db connection Connection
mysql_connect • Opensa connection to a MySQL Server • Deprecatedas of PHP 5.5.0, and will be removed in the future. • InsteaduseMySQLi or PDO_MySQL • mysql_connectexamples mysql_connect
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 Code Igniter Database Configuration
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 • Changedatabase.phpasfollows CAKEPHP and mysql
Zend_Config_Ini enables developers to store configuration data in a familiar INI format Zend and database configuration
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 Functions for SQL Server
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 odbcdsn 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 IBM DB2
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 MySQLthreadmysqli::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 mysqlservermysqli::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 — The mysqli 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_stmt — The mysqli_stmt 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_result — The mysqli_result class
mysqli_driver — The mysqli_driverclassmysqli_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_warningclassmysqli_warning::__construct — The __construct purpose mysqli_warning::next — The next purpose mysqli_sql_exception — The mysqli_sql_exception class mysqli_driver, mysqli_warning
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 PDO — The PDO 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 PDOStatement — The PDOStatement class
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) PDOException, Misc