014.phpt 3.0 KB

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