Annotation of embedaddon/php/ext/mysqli/tests/mysqli_stmt_close.phpt, revision 1.1.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>