PageRenderTime 48ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/Demo/test_db.php

https://bitbucket.org/gbouthenot/gbphpdb
PHP | 266 lines | 198 code | 48 blank | 20 comment | 40 complexity | 133d76c828a37441ffe73cc599bf7fe9 MD5 | raw file
  1. #!/usr/bin/php
  2. <?php
  3. set_include_path(dirname(__FILE__));
  4. $oci_host=$mysql_host=$pgsql_host=$oci_sql="";
  5. $use_Zend=$use_Gb=$use_Oci=$use_Pdo=false;
  6. $oci_host="apogee-bd.univ-fcomte.fr";
  7. $oci_port=1524;
  8. $oci_user="gbouthen";
  9. $oci_pass="********";
  10. $oci_name="APOTEST";
  11. $oci_charset = 'UTF8'; // AL32UTF8 / UTF8
  12. $oci_sql = 'SELECT * FROM APOGEE.COMP_LNG_CAD WHERE COD_IND=130298';
  13. $use_Zend = true;
  14. $use_Gb = true;
  15. $use_Oci = true;
  16. $use_Pdo = true;
  17. /*
  18. $mysql_host="localhost";
  19. $mysql_port=3306;
  20. $mysql_user="root";
  21. $mysql_pass="********";
  22. $mysql_name="mysql";
  23. */
  24. /*
  25. $pgsql_host="localhost";
  26. $pgsql_port=5432;
  27. $pgsql_user="ticeval";
  28. $pgsql_pass="********";
  29. $pgsql_name="postgres";
  30. */
  31. if ($use_Gb) {
  32. require_once("Gb/Db.php");
  33. }
  34. if ($use_Zend) {
  35. require_once("Zend/Db.php");
  36. }
  37. $test_failed=$test_success=$test_tried=0;
  38. if ($use_Zend && $use_Pdo && strlen($pgsql_host)) {
  39. try {
  40. echo "*** Connexion avec Zend_Db --> Pdo_pgsql\n";
  41. $test_tried++;
  42. $conn=Zend_Db::factory("Pdo_Pgsql", array("host"=>$pgsql_host, "port"=>$pgsql_port, "username"=>$pgsql_user, "password"=>$pgsql_pass, "dbname"=>$pgsql_name));
  43. //$conn->getConnection();
  44. $stmt=$conn->query("SELECT NOW()");
  45. $s=$stmt->fetch(Zend_Db::FETCH_ASSOC);
  46. print_r($s);
  47. echo "*** Ok\n\n";
  48. $test_success++;
  49. } catch (Exception $e) {
  50. echo "EXCEPTION: $e\n\n";
  51. $test_failed++;
  52. }
  53. }
  54. if ($use_Gb && $use_Pdo && strlen($pgsql_host)) {
  55. try {
  56. echo "*** Connexion avec Gb_Db --> Pdo_Mysql\n";
  57. $test_tried++;
  58. $dbProt=new Gb_Db(array("type"=>"Pdo_Mysql", "host"=>$mysql_host , "name"=>$mysql_name, "user"=>$mysql_user, "pass"=>$mysql_pass, "port"=>$mysql_port));
  59. $date=$dbProt->retrieve_one("SELECT NOW()");
  60. print_r($date);
  61. echo "*** Ok\n\n";
  62. $test_success++;
  63. } catch (Exception $e) {
  64. echo "EXCEPTION: $e\n\n";
  65. $test_failed++;
  66. }
  67. }
  68. if ($use_Zend && $use_Pdo && strlen($oci_host)) {
  69. try {
  70. echo "*** Connexion avec Zend_Db --> Pdo_oci\n";
  71. $test_tried++;
  72. // $conn=Zend_Db::factory("Pdo_Oci", array("host"=>$oci_host, "port"=>$oci_port, , "username"=>$oci_user, "password"=>$oci_pass, "dbname"=>"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$oci_host)(PORT=$oci_port))(CONNECT_DATA=(SERVICE_NAME=$oci_name)))"));
  73. // $conn=Zend_Db::factory("Pdo_Oci", array("host"=>$oci_host, "port"=>$oci_port, , "username"=>$oci_user, "password"=>$oci_pass, "dbname"=>"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$oci_host)(PORT=$oci_port))(CONNECT_DATA=(SID=$oci_name)))"));
  74. $conn=Zend_Db::factory("Pdo_Oci", array("host"=>$oci_host, "port"=>$oci_port, "username"=>$oci_user, "password"=>$oci_pass, "dbname"=>$oci_name));
  75. //$conn->getConnection();
  76. $stmt=$conn->query("SELECT SYSDATE FROM DUAL");
  77. $s=$stmt->fetch(Zend_Db::FETCH_ASSOC);
  78. print_r($s);
  79. echo "*** Ok\n\n";
  80. $test_success++;
  81. } catch (Exception $e) {
  82. echo "EXCEPTION: $e\n\n";
  83. $test_failed++;
  84. }
  85. }
  86. if ($use_Zend && $use_Oci && strlen($oci_host)) {
  87. try {
  88. echo "*** Connexion avec Zend_Db --> Oracle (extension oci8)\n";
  89. $test_tried++;
  90. $conn=Zend_Db::factory("Oracle", array("host"=>$oci_host, "username"=>$oci_user, "password"=>$oci_pass, "dbname"=>"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$oci_host)(PORT=$oci_port))(CONNECT_DATA=(SID=$oci_name)))"));
  91. //$conn->getConnection();
  92. $stmt=$conn->query("SELECT SYSDATE FROM DUAL");
  93. $s=$stmt->fetch(Zend_Db::FETCH_ASSOC);
  94. print_r($s);
  95. echo "*** Ok\n\n";
  96. $test_success++;
  97. } catch (Exception $e) {
  98. echo "EXCEPTION: $e\n\n";
  99. $test_failed++;
  100. }
  101. }
  102. if ($use_Gb && $use_Pdo && strlen($oci_host)) {
  103. try {
  104. echo "*** Connexion avec Gb_Db --> Pdo_Oci\n";
  105. $test_tried++;
  106. $dbProt=new Gb_Db(array("type"=>"Pdo_Oci", "host"=>$oci_host , "port"=>$oci_port, "name"=>$oci_name, "user"=>$oci_user, "pass"=>$oci_pass));
  107. $date=$dbProt->retrieve_one("SELECT SYSDATE FROM DUAL");
  108. print_r($date);
  109. echo "*** Ok\n\n";
  110. $test_success++;
  111. } catch (Exception $e) {
  112. echo "EXCEPTION: $e\n\n";
  113. $test_failed++;
  114. }
  115. }
  116. if ($use_Gb && $use_Pdo && strlen($mysql_host)) {
  117. try {
  118. echo "*** Connexion avec Gb_Db --> Pdo_Mysql\n";
  119. $test_tried++;
  120. $dbProt=new Gb_Db(array("type"=>"Pdo_Mysql", "host"=>$mysql_host , "name"=>$mysql_name, "user"=>$mysql_user, "pass"=>$mysql_pass, "port"=>$mysql_port));
  121. $date=$dbProt->retrieve_one("SELECT NOW()");
  122. print_r($date);
  123. echo "*** Ok\n\n";
  124. $test_success++;
  125. } catch (Exception $e) {
  126. echo "EXCEPTION: $e\n\n";
  127. $test_failed++;
  128. }
  129. }
  130. if ($use_Oci && strlen($oci_host)) {
  131. try {
  132. echo "*** Connexion avec ocilogon (extention oci8)\n";
  133. $test_tried++;
  134. if (!function_exists("ocilogon")) {
  135. throw new Exception("oci8 extension not loaded.");
  136. }
  137. $conn_str="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$oci_host)(PORT=$oci_port))(CONNECT_DATA=(SID=$oci_name)))";
  138. $hDbId=@ocilogon($oci_user, $oci_pass, $conn_str);
  139. if ($hDbId === false) {
  140. throw new Exception("Unable to log in.");
  141. }
  142. ocilogoff($hDbId);
  143. echo "*** Ok\n\n";
  144. $test_success++;
  145. } catch (Exception $e) {
  146. echo "EXCEPTION: $e\n\n";
  147. $test_failed++;
  148. }
  149. }
  150. if ($use_Oci && strlen($oci_host) && strlen($oci_sql)) {
  151. try {
  152. echo "*** Connexion avec ociconnect (extention oci8), requete sql complete\n";
  153. $test_tried++;
  154. if (!function_exists("ocilogon")) {
  155. throw new Exception("oci8 extension not loaded.");
  156. }
  157. $tns = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = $oci_host)(PORT = $oci_port)))(CONNECT_DATA=(SID=$oci_name)))";
  158. $conn = oci_connect($oci_user, $oci_pass, $tns, $oci_charset);
  159. if (!$conn) {
  160. $e = oci_error();
  161. trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
  162. }
  163. $stid = oci_parse($conn, $oci_sql);
  164. oci_execute($stid);
  165. echo "<table border='1'>\n";
  166. while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
  167. echo "<tr>\n";
  168. foreach ($row as $item) {
  169. echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
  170. }
  171. echo "</tr>\n";
  172. }
  173. echo "</table>\n";
  174. echo "*** Ok\n\n";
  175. $test_success++;
  176. } catch (Exception $e) {
  177. echo "EXCEPTION: $e\n\n";
  178. $test_failed++;
  179. }
  180. }
  181. if ($use_Gb && $use_Pdo && strlen($oci_host) && strlen($oci_sql)) {
  182. try {
  183. echo "*** Connexion avec Gb_Db (Pdo_Oci8), requete sql complete\n";
  184. $test_tried++;
  185. if (!function_exists("ocilogon")) {
  186. throw new Exception("oci8 extension not loaded.");
  187. }
  188. $params = array("type"=>"Pdo_Oci", "user"=>$oci_user, "pass"=>$oci_pass, "port"=>$oci_port, "host"=>$oci_host, "name"=>$oci_name, "charset"=>$oci_charset);
  189. $db = new Gb_Db($params);
  190. $all = $db->retrieve_all($oci_sql);
  191. print_r($all);
  192. echo "*** Ok\n\n";
  193. $test_success++;
  194. } catch (Exception $e) {
  195. echo "EXCEPTION: $e\n\n";
  196. $test_failed++;
  197. }
  198. }
  199. if ($use_Gb && $use_Pdo && strlen($oci_host) && strlen($oci_sql)) {
  200. try {
  201. echo "*** Connexion avec Gb_Db (oci8), requete sql complete\n";
  202. $test_tried++;
  203. if (!function_exists("ocilogon")) {
  204. throw new Exception("oci8 extension not loaded.");
  205. }
  206. $params = array("type"=>"Oracle_Oci8", "user"=>$oci_user, "pass"=>$oci_pass, "port"=>$oci_port, "host"=>$oci_host, "name"=>$oci_name, "charset"=>$oci_charset);
  207. $db = new Gb_Db($params);
  208. $all = $db->retrieve_all($oci_sql);
  209. print_r($all);
  210. echo "*** Ok\n\n";
  211. $test_success++;
  212. } catch (Exception $e) {
  213. echo "EXCEPTION: $e\n\n";
  214. $test_failed++;
  215. }
  216. }
  217. echo "FIN\n";
  218. echo "$test_tried tests; $test_success success, $test_failed failed. Rate=".($test_success*100/$test_tried)."%\n";