014.phpt 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. --TEST--
  2. mysqli autocommit/commit/rollback
  3. --SKIPIF--
  4. <?php
  5. require_once('skipif.inc');
  6. require_once('skipifconnectfailure.inc');
  7. require_once("connect.inc");
  8. $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
  9. if (!$link)
  10. die(sprintf("Cannot connect, [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));
  11. if (!have_innodb($link))
  12. die(sprintf("Needs InnoDB support, [%d] %s", $link->errno, $link->error));
  13. ?>
  14. --FILE--
  15. <?php
  16. require_once("connect.inc");
  17. $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
  18. if (!mysqli_autocommit($link, TRUE))
  19. printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  20. if (!mysqli_query($link, "DROP TABLE IF EXISTS test"))
  21. printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  22. if (!mysqli_query($link, "CREATE TABLE test(a int, b varchar(10)) engine=InnoDB"))
  23. printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  24. if (!mysqli_query($link, "INSERT INTO test VALUES (1, 'foobar')"))
  25. printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  26. if (!mysqli_autocommit($link, FALSE))
  27. printf("[005] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  28. if (!mysqli_query($link, "DELETE FROM test"))
  29. printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  30. if (!mysqli_query($link, "INSERT INTO test VALUES (2, 'egon')"))
  31. printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  32. if (!mysqli_rollback($link))
  33. printf("[008] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  34. if (!$result = mysqli_query($link, "SELECT * FROM test"))
  35. printf("[009] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  36. printf("Num_of_rows=%d\n", mysqli_num_rows($result));
  37. if (!$row = mysqli_fetch_row($result))
  38. printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  39. mysqli_free_result($result);
  40. var_dump($row);
  41. if (!mysqli_query($link, "DELETE FROM test"))
  42. printf("[011] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  43. if (!mysqli_query($link, "INSERT INTO test VALUES (2, 'egon')"))
  44. printf("[012] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  45. if (!mysqli_commit($link))
  46. printf("[012] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  47. if (!$result = mysqli_query($link, "SELECT * FROM test"))
  48. printf("[013] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  49. if (!$row = mysqli_fetch_row($result))
  50. printf("[014] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
  51. mysqli_free_result($result);
  52. var_dump($row);
  53. mysqli_query($link, "DROP TABLE IF EXISTS test");
  54. mysqli_close($link);
  55. print "done!";
  56. ?>
  57. --CLEAN--
  58. <?php
  59. require_once("clean_table.inc");
  60. ?>
  61. --EXPECTF--
  62. Num_of_rows=1
  63. array(2) {
  64. [0]=>
  65. %unicode|string%(1) "1"
  66. [1]=>
  67. %unicode|string%(6) "foobar"
  68. }
  69. array(2) {
  70. [0]=>
  71. %unicode|string%(1) "2"
  72. [1]=>
  73. %unicode|string%(4) "egon"
  74. }
  75. done!