Advertisement
rfv123

Use PDO to connect to two different databases

Sep 23rd, 2015
448
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.83 KB | None | 0 0
  1. <?php // Q32744829_pdo_access_two_databases.php
  2.  
  3. /**
  4.  * Two databases :
  5.  *   1) archive_pfizer
  6.  *   2) pdone_legacy
  7.  *
  8.  */
  9.  
  10. /**
  11.  * must have access rights to both db's
  12.  */
  13. // db connection to archive_pfizer and pdone_legacy
  14. $dsn = 'mysql:host=localhost;dbname=pdone_legacy';
  15. $username = 'pfizer';
  16. $password = 'pfizer';
  17. $options = array(
  18.     PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
  19. );
  20. $dbTest = new PDO($dsn, $username, $password, $options);
  21. $dbTest->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  22.  
  23.  
  24. /* ----------------------------------------------------------
  25.  *   Query archive_pfizer (logger)
  26.  */
  27. $sqlArchive = 'SELECT  hcp_id, rep_id, type, session_id, createdAt, modifiedAt
  28. FROM archive_pfizer.logger
  29. WHERE session_id = :a_session_id';
  30.  
  31. $stmt = $dbTest->prepare($sqlArchive);
  32. $stmt->bindValue(':a_session_id', 'session_id_01', PDO::PARAM_STR);
  33. $stmt->execute();
  34.  
  35. $resultArchive = $stmt->fetchAll(PDO::FETCH_ASSOC);
  36. $stmt->closeCursor();
  37.  
  38. echo '<br />', 'archive_pfizer.logger', '<br />';
  39. echo '<pre>';
  40. print_r($resultArchive);
  41. echo '</pre>';
  42.  
  43.  
  44. /* --------------------------------------------------
  45.  *  Query pdone_legacy (session_brand_presentation)
  46.  */
  47. $sqlPDone = 'SELECT ID,
  48.                    local_session_id,
  49.                    brand_id,
  50.                    createdAt,
  51.                    modifiedAt
  52. FROM pdone_legacy.session_brand_presentation
  53. WHERE local_session_id = :sbp_session_id';
  54.  
  55. $stmt = $dbTest->prepare($sqlPDone);
  56. $stmt->bindValue(':sbp_session_id', 'session_id_01', PDO::PARAM_STR);
  57. $stmt->execute();
  58.  
  59. $resultPDone = $stmt->fetchAll(PDO::FETCH_ASSOC);
  60. $stmt->closeCursor();
  61. echo '<br />', 'pdone_legacy.session_brand_presentation', '<br />';
  62. echo '<pre>';
  63. print_r($resultPDone);
  64. echo '</pre>';
  65.  
  66.  
  67. /* --------------------------------------------------------------------
  68.  *  Query archive_pfizer (logger) and pdone_legacy (session_brand_presentation)
  69.  */
  70. $sqlBoth = 'SELECT DISTINCT
  71.                logger.hcp_id,
  72.                logger.rep_id,
  73.                logger.type,
  74.                session_brand_presentation.ID,
  75.                session_brand_presentation.brand_id,
  76.                session_brand_presentation.createdAt,
  77.                session_brand_presentation.modifiedAt
  78.            FROM
  79.                archive_pfizer.logger
  80.            JOIN
  81.                pdone_legacy.session_brand_presentation
  82.                   ON logger.session_id = session_brand_presentation.local_session_id
  83.  
  84.            WHERE
  85.                logger.type = :lg_type';
  86.  
  87. $stmt = $dbTest->prepare($sqlBoth);
  88. $stmt->bindValue(':lg_type', 'email_sent', PDO::PARAM_STR);
  89. $stmt->execute();
  90.  
  91. $resultBoth = $stmt->fetchAll(PDO::FETCH_ASSOC);
  92. $stmt->closeCursor();
  93.  
  94. echo '<br />', 'pdone_legacy and archive_pfizer', '<br />';
  95. echo '<pre>';
  96. print_r($resultBoth);
  97. echo '</pre>';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement