Annotation of embedaddon/php/ext/mysql/tests/mysql_num_rows.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: mysql_num_rows()
        !             3: --SKIPIF--
        !             4: <?php
        !             5: require_once('skipif.inc');
        !             6: require_once('skipifconnectfailure.inc');
        !             7: ?>
        !             8: --FILE--
        !             9: <?php
        !            10: include "connect.inc";
        !            11: 
        !            12: $tmp    = NULL;
        !            13: $link   = NULL;
        !            14: 
        !            15: if (!is_null($tmp = @mysql_num_rows()))
        !            16: printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
        !            17: 
        !            18: if (NULL !== ($tmp = @mysql_num_rows($link)))
        !            19: printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
        !            20: 
        !            21: require('table.inc');
        !            22: 
        !            23: function func_test_mysql_num_rows($link, $query, $expected, $offset, $test_free = false) {
        !            24: 
        !            25:        if (!$res = mysql_query($query, $link)) {
        !            26:                printf("[%03d] [%d] %s\n", $offset, mysql_errno($link), mysql_error($link));
        !            27:                return;
        !            28:        }
        !            29: 
        !            30:        if ($expected !== ($tmp = mysql_num_rows($res)))
        !            31:                printf("[%03d] Expecting %s/%d, got %s/%d\n", $offset + 1,
        !            32:                        gettype($expected), $expected,
        !            33:                        gettype($tmp), $tmp);
        !            34: 
        !            35:        mysql_free_result($res);
        !            36: 
        !            37:        if ($test_free && (false !== ($tmp = mysql_num_rows($res))))
        !            38:                printf("[%03d] Expecting boolean/false, got %s/%s\n", $offset + 2, gettype($tmp), $tmp);
        !            39: }
        !            40: 
        !            41: func_test_mysql_num_rows($link, "SELECT 1 AS a", 1, 5);
        !            42: func_test_mysql_num_rows($link, "SHOW VARIABLES LIKE '%nixnutz%'", 0, 10);
        !            43: func_test_mysql_num_rows($link, "INSERT INTO test(id, label) VALUES (100, 'z')", NULL, 15);
        !            44: func_test_mysql_num_rows($link, "SELECT id FROM test LIMIT 2", 2, 20, true);
        !            45: 
        !            46: if ($res = mysql_query('SELECT COUNT(id) AS num FROM test', $link)) {
        !            47: 
        !            48:        $row = mysql_fetch_assoc($res);
        !            49:        mysql_free_result($res);
        !            50: 
        !            51:        func_test_mysql_num_rows($link, "SELECT id, label FROM test", (int)$row['num'], 25);
        !            52: 
        !            53: } else {
        !            54:        printf("[030] [%d] %s\n", mysql_errno($link), mysql_error($link));
        !            55: }
        !            56: 
        !            57: if ($res = mysql_unbuffered_query('SELECT id, label FROM test')) {
        !            58: 
        !            59:        if (0 != mysql_num_rows($res))
        !            60:                printf("[032] Expecting 0 rows got %d\n", mysql_num_rows($res));
        !            61:        
        !            62:        $rows = 0;
        !            63:        while ($row = mysql_fetch_assoc($res))
        !            64:                $rows++;
        !            65: 
        !            66:        if ($rows != mysql_num_rows($res))
        !            67:                printf("[033] Expecting %d rows got %d\n", $rows, mysql_num_rows($res));
        !            68: 
        !            69:        mysql_free_result($res);
        !            70: } else {
        !            71:        printf("[034] [%d] %s\n", mysql_errno($link), mysql_error($link));
        !            72: }
        !            73: 
        !            74: mysql_close($link);
        !            75: print "done!";
        !            76: ?>
        !            77: --CLEAN--
        !            78: <?php
        !            79: require_once("clean_table.inc");
        !            80: ?>
        !            81: --EXPECTF--
        !            82: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in %s on line %d
        !            83: 
        !            84: Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in %s on line %d
        !            85: 
        !            86: Warning: mysql_num_rows(): %d is not a valid MySQL result resource in %s on line %d
        !            87: done!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>