presented by thomas beebe advanced datatools corporation tom@advancedatatools com n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
PHP With the New PDO::Informix PowerPoint Presentation
Download Presentation
PHP With the New PDO::Informix

Loading in 2 Seconds...

play fullscreen
1 / 17

PHP With the New PDO::Informix - PowerPoint PPT Presentation


  • 138 Views
  • Uploaded on

Presented by: Thomas Beebe Advanced DataTools Corporation tom@advancedatatools.com. PHP With the New PDO::Informix. What is PHP. PHP stands for “PHP: Hypertext Preprocessor” Started in 1995 by Rasmus Lerdorf as perl scripts

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'PHP With the New PDO::Informix' - taini


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
presented by thomas beebe advanced datatools corporation tom@advancedatatools com
Presented by: Thomas Beebe

Advanced DataTools Corporation

tom@advancedatatools.com

PHP With the New PDO::Informix
what is php
What is PHP
  • PHP stands for “PHP: Hypertext Preprocessor”
  • Started in 1995 by Rasmus Lerdorf as perl scripts
  • Andi Gutmans and Zeev Suraski launched PHP3 in 1997 to replace the dated PHP/FI
  • 1998 – PHP 4
  • 2004 – PHP 5
  • Provides a very flexible, expendable application development environment, free to use for any purpose.
  • Large collection of modules and extensions available (mostly free of charge)
slide3
PEAR
  • "PHP Extension and Application Repository"
  • Package management for PHP
  • Offers standards for creating packages for PHP
slide4
PECL
  • “PHP Extension Community Library”
  • Offers a hosting repository of any and all php extensions, as well as hosting and support for development.
  • pdo drivers are provided through pecl.
why pdo
Why PDO
  • Standardized code and connection methods
  • ODBC can be troublesome
  • The ifx_ driver is not overly stable and is buggy
  • Open source development methodology
  • IBM support pdo_informix driver
  • Proper error handling
installing
Installing
  • Two ways to install:
    • extensions (php.ini)
    • compiled in (/tmp/php-x.x.x/ext/pdo_informix)
compiling into php
Compiling into PHP
  • Download the latest pdo_informix driver
  • Extract it to php_source/ext [it will be PDO_INFORMIX-1.0.x]
  • Rename it to pdo_informix
  • cd ..
  • ./buildconf –force [this will rebuild configure]
  • ./configure –help | grep informix (make sure it is there)
  • ./configure –args --with-pdo-informix=$INFORMIXDIR
connection paramaters
Connection Paramaters
  • $dbh->setAttribute($ATTR,$VALUE);
  • PDO::ATTR_CASE:
    • PDO::CASE_LOWER
    • PDO::CASE_UPPER
    • PDO::CASE_NATURAL
  • PDO::ATTR_ERRMODE:
    • PDO::ERRMODE_SILENT
    • PDO::ERRMODE_WARNING
    • PDO::ERRMODE_EXCEPTION
  • PDO::ATTR_STRINGIFY_FETCHES
  • PDO::ATTR_ORACLE_NULLS
binding paramaters
Binding Paramaters
  • Safer, faster, often easier to manage.
  • Insertions use bindParam();
  • Selects use bindColumn
  • Insertions:
    • $name = “Joe Smith”;
    • $stmt=$dbh->prepare(“insert into tab_a (name) values (?)”);
    • $stmt->bindParam(1, $name);
    • $stmt->execute();
    • $name = “John Jones”;
    • $stmt->bindParam(1, $name);
    • $stmt->execute();
named bind
Named Bind
  • This tends to be easier to maintain for large inserts/updates.
  • $stmt = $dbh->prepare(“insert into test (name) values (:name)”);
  • $name = “Papa Smurf”;
  • $stmt->bindParam(':name', $name);
  • $stmt->execute();
  • $name = “Bubba Jones”;
  • $stmt->execute();
binding on selects
Binding on Selects
  • This is required for reading blobs from the database
  • $stmt = $db->prepare("select cat_desc from catalog”);
  • $stmt->execute();
  • $stmt->bindColumn(1, $lob, PDO::PARAM_STR);
  • $stmt->fetch(PDO::FETCH_BOUND);
binding paramaters1
Binding Paramaters
  • LOB needs to be specified, the others are optional but can help maintain proper data types
  • PDO::PARAM_LOB – Data Blobs
  • PDO::PARAM_STR – Char/Varchar/Text
  • PDO::PARAM_BOOL – Bool
  • PDO::PARAM_INT - Integer
error handling
Error Handling
  • PHP 5 introduced try/catch which can be a lifesaver.
  • try { sql stuff here...
  • } catch (PDOException $e) {
  • print "Error!: " . $e->getMessage() . "<br/>";
  • die();
  • }
error handling cont
Error Handling (cont)
  • $dbh->errorInfo();
    • Returns an array of the last statement executed
    • 0: Sqlstate Error Code
    • 1: Driver specific error number
    • 2: Driver error message
  • Exception handling variable commands
    • $e->getMessage() = Error message
    • $e->getLine() = Line Number
    • $e->getFile() = File that caused the error
    • $e->getCode() = Code the caused the error
    • $e->getTrace() = Array of the error trace
thomas beebe advanced datatools corporation tom@advancedatatools com
Thomas Beebe

Advanced DataTools Corporation

tom@advancedatatools.com

Questions?