SlideServe
Menu
Préférences
© SlideServe · v2026

PHP With the New PDO::Informix

taini avatar
17 diapositives · 400 Views · Sep 30, 2013

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

PHP With the New PDO::Informix - slide 1
01 / 17PHP With the New PDO::Informix
1 / 17

Télécharger la présentation

PHP With the New PDO::Informix
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Presented by: Thomas Beebe Advanced DataTools Corporation tom@advancedatatools.com PHP With the New PDO::Informix

  2. 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)

  3. PEAR • "PHP Extension and Application Repository" • Package management for PHP • Offers standards for creating packages for PHP

  4. 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.

  5. 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

  6. Demo 1

  7. Installing • Two ways to install: • extensions (php.ini) • compiled in (/tmp/php-x.x.x/ext/pdo_informix)

  8. 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

  9. 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

  10.  Demo 2

  11. 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();

  12. 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();

  13. 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);

  14. 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

  15. 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(); • }

  16. 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

  17. Thomas Beebe Advanced DataTools Corporation tom@advancedatatools.com Questions?