Annotation of embedaddon/php/ext/mysqli/tests/mysqli_stmt_close.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: mysqli_stmt_close()
! 3: --SKIPIF--
! 4: <?php
! 5: require_once('skipif.inc');
! 6: require_once('skipifemb.inc');
! 7: require_once('skipifconnectfailure.inc');
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: require_once("connect.inc");
! 12:
! 13: $tmp = NULL;
! 14: $link = NULL;
! 15:
! 16: if (!is_null($tmp = @mysqli_stmt_close()))
! 17: printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 18:
! 19: if (!is_null($tmp = @mysqli_stmt_close($link)))
! 20: printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 21:
! 22: require('table.inc');
! 23:
! 24: if (!$stmt = mysqli_stmt_init($link))
! 25: printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 26:
! 27: // Yes, amazing, eh? AFAIK a work around of a constructor bug...
! 28: if (!is_null($tmp = mysqli_stmt_close($stmt)))
! 29: printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 30:
! 31: if (!mysqli_stmt_prepare($stmt, "SELECT id, label FROM test"))
! 32: printf("[005] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
! 33:
! 34: if (true !== ($tmp = mysqli_stmt_close($stmt)))
! 35: printf("[006] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp);
! 36:
! 37: if (!is_null($tmp = mysqli_stmt_close($stmt)))
! 38: printf("[007] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 39:
! 40: if (!$stmt = mysqli_stmt_init($link))
! 41: printf("[008] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 42:
! 43: if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)"))
! 44: printf("[009] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
! 45:
! 46: $id = $label = null;
! 47: if (!mysqli_stmt_bind_param($stmt, "is", $id, $label))
! 48: printf("[010] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
! 49:
! 50: $id = 100; $label = 'z';
! 51: if (!mysqli_stmt_execute($stmt))
! 52: printf("[011] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
! 53:
! 54: mysqli_kill($link, mysqli_thread_id($link));
! 55:
! 56: if (true !== ($tmp = mysqli_stmt_close($stmt)))
! 57: printf("[012] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp);
! 58:
! 59: mysqli_close($link);
! 60:
! 61: require('table.inc');
! 62: if (!$stmt = mysqli_stmt_init($link))
! 63: printf("[013] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 64:
! 65: if (!mysqli_stmt_prepare($stmt, "SELECT id, label FROM test"))
! 66: printf("[014] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
! 67:
! 68: $id = $label = null;
! 69: if (!mysqli_stmt_bind_result($stmt, $id, $label))
! 70: printf("[015] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
! 71:
! 72: if (!mysqli_stmt_execute($stmt) || !mysqli_stmt_fetch($stmt))
! 73: printf("[016] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
! 74:
! 75: mysqli_kill($link, mysqli_thread_id($link));
! 76:
! 77: if (true !== ($tmp = mysqli_stmt_close($stmt)))
! 78: printf("[017] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp);
! 79:
! 80: print "done!";
! 81: ?>
! 82: --CLEAN--
! 83: <?php
! 84: require_once("clean_table.inc");
! 85: ?>
! 86: --EXPECTF--
! 87: Warning: mysqli_stmt_close(): invalid object or resource mysqli_stmt
! 88: in %s on line %d
! 89:
! 90: Warning: mysqli_stmt_close(): Couldn't fetch mysqli_stmt in %s on line %d
! 91: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>