PageRenderTime 40ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/hphp/test/zend/bad/ext/mysqli/tests/mysqli_connect_oo_defaults.php

http://github.com/facebook/hiphop-php
PHP | 149 lines | 117 code | 31 blank | 1 comment | 16 complexity | bc7d397724310fba945a0e96dea49d89 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
  1. <?php
  2. require_once("connect.inc");
  3. $tmp = NULL;
  4. $link = NULL;
  5. if ($socket != "")
  6. /* mysqli.default_socket requires non-empty string */
  7. ini_set('mysqli.default_socket', 'socket');
  8. ini_set('mysqli.default_port', 9999);
  9. ini_set('mysqli.default_pw', 'password');
  10. ini_set('mysqli.default_user', 'user');
  11. ini_set('mysqli.default_host', 'host');
  12. mysqli_report(MYSQLI_REPORT_OFF);
  13. mysqli_report(MYSQLI_REPORT_STRICT);
  14. if ($socket != "") {
  15. ini_set('mysqli.default_socket', $socket);
  16. try {
  17. $mysqli = mysqli_init();
  18. $mysqli->real_connect($host, $user, $passwd, $db, $port);
  19. if (!$res = $mysqli->query("SELECT 'mysqli.default_socket' AS testing"))
  20. printf("[001] [%d] %s\n", $mysqli->errno, $mysqli->error);
  21. $tmp = $res->fetch_assoc();
  22. $res->free_result();
  23. if (!isset($tmp['testing']) || $tmp['testing'] != 'mysqli.default_socket') {
  24. printf("[002] mysqli.default_socket not properly set?\n");
  25. var_dump($tmp);
  26. }
  27. $mysqli->close();
  28. } catch (mysqli_sql_exception $e) {
  29. printf("%s\n", $e->getMessage());
  30. printf("[002] Usage of mysqli.default_socket failed\n");
  31. }
  32. }
  33. ini_set('mysqli.default_port', $port);
  34. try {
  35. $mysqli = mysqli_init();
  36. $mysqli->real_connect($host, $user, $passwd, $db);
  37. if (!$res = $mysqli->query("SELECT 'mysqli.default_port' AS testing"))
  38. printf("[003] [%d] %s\n", $mysqli->errno, $mysqli->error);
  39. var_dump($res->fetch_assoc());
  40. $res->free_result();
  41. $mysqli->close();
  42. } catch (mysqli_sql_exception $e) {
  43. printf("%s\n", $e->getMessage());
  44. printf("[004] Usage of mysqli.default_port failed\n");
  45. }
  46. ini_set('mysqli.default_pw', $passwd);
  47. try {
  48. $mysqli = mysqli_init();
  49. $mysqli->real_connect($host, $user);
  50. $mysqli->select_db($db);
  51. if (!$res = $mysqli->query("SELECT 'mysqli.default_pw' AS testing"))
  52. printf("[005] [%d] %s\n", $mysqli->errno, $mysqli->error);
  53. var_dump($res->fetch_assoc());
  54. $res->free_result();
  55. $mysqli->close();
  56. } catch (mysqli_sql_exception $e) {
  57. printf("%s\n", $e->getMessage());
  58. printf("[006] Usage of mysqli.default_pw failed\n");
  59. }
  60. ini_set('mysqli.default_user', $user);
  61. try {
  62. $mysqli = mysqli_init();
  63. $mysqli->real_connect($host);
  64. $mysqli->select_db($db);
  65. if (!$res = $mysqli->query("SELECT 'mysqli.default_user' AS testing"))
  66. printf("[007] [%d] %s\n", $mysqli->errno, $mysqli->error);
  67. var_dump($res->fetch_assoc());
  68. $res->free_result();
  69. $mysqli->close();
  70. } catch (mysqli_sql_exception $e) {
  71. printf("%s\n", $e->getMessage());
  72. printf("[008] Usage of mysqli.default_user failed\n");
  73. }
  74. ini_set('mysqli.default_host', $host);
  75. try {
  76. $mysqli = mysqli_init();
  77. $mysqli->real_connect();
  78. $mysqli->select_db($db);
  79. if (!$res = $mysqli->query("SELECT 1"))
  80. printf("[009] [%d] %s\n", $mysqli->errno, $mysqli->error);
  81. $res->free_result();
  82. if (!$res = $mysqli->query("SELECT SUBSTRING_INDEX(USER(),'@',1) AS username"))
  83. printf("[010] [%d] %s\n", $mysqli->errno, $mysqli->error);
  84. $tmp = $res->fetch_assoc();
  85. $res->free_result();
  86. if ($tmp['username'] !== $user)
  87. printf("[011] Expecting string/%s, got %s/%s\n", $user, gettype($tmp['username']), $tmp['username']);
  88. $mysqli->close();
  89. } catch (mysqli_sql_exception $e) {
  90. printf("%s\n", $e->getMessage());
  91. printf("[012] Usage of mysqli.default_host failed\n");
  92. }
  93. try {
  94. $link = mysqli_connect($host, $user, $passwd, null, ini_get('mysqli.default_port'));
  95. mysqli_select_db($link, $db);
  96. if (!$res = mysqli_query($link, "SELECT 'have been set' AS all_defaults"))
  97. printf("[013] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  98. var_dump(mysqli_fetch_assoc($res));
  99. mysqli_free_result($res);
  100. mysqli_close($link);
  101. } catch (mysqli_sql_exception $e) {
  102. printf("%s\n", $e->getMessage());
  103. printf("[014] Usage of mysqli_connect() has failed\n");
  104. }
  105. try {
  106. $link = mysqli_connect($host, $user, $passwd, null);
  107. mysqli_select_db($link, $db);
  108. if (!$res = mysqli_query($link, "SELECT 'have been set' AS all_defaults"))
  109. printf("[015] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  110. var_dump(mysqli_fetch_assoc($res));
  111. mysqli_free_result($res);
  112. mysqli_close($link);
  113. } catch (mysqli_sql_exception $e) {
  114. printf("%s\n", $e->getMessage());
  115. printf("[016] Usage of mysqli_connect() has failed\n");
  116. }
  117. print "done!";
  118. ?>