PHP and Database Functionality

advertisement
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)

Download