Annotation of embedaddon/php/ext/mysqli/tests/mysqli_fetch_field_oo.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: mysqli_fetch_field()
                      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:        // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test
                     17:        $mysqli = new mysqli();
                     18:        $res = @new mysqli_result($mysqli);
                     19:        if (!is_null($tmp = @$res->fetch_field()))
                     20:                printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
                     21: 
                     22:        require('table.inc');
                     23:        if (!$mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket))
                     24:                printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
                     25:                        $host, $user, $db, $port, $socket);
                     26: 
                     27:        if (!is_null($tmp = @$res->fetch_field($link)))
                     28:                printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
                     29: 
                     30:        $charsets = my_get_charsets($link);
                     31: 
                     32:        if (!$res = $mysqli->query("SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 1")) {
                     33:                printf("[004] [%d] %s\n", $mysqli->errno, $mysqli->error);
                     34:        }
                     35: 
                     36:        var_dump($res->fetch_field());
                     37: 
                     38:        $tmp = $res->fetch_field();
                     39:        var_dump($tmp);
                     40:        if ($tmp->charsetnr != $charsets['results']['nr']) {
                     41:                printf("[005] Expecting charset %s/%d got %d\n",
                     42:                        $charsets['results']['charset'],
                     43:                        $charsets['results']['nr'], $tmp->charsetnr);
                     44:        }
                     45:        if ($tmp->length != (1 * $charsets['results']['maxlen'])) {
                     46:                printf("[006] Expecting length %d got %d\n",
                     47:                        $charsets['results']['maxlen'],
                     48:                        $tmp->max_length);
                     49:        }
                     50:        if ($tmp->db != $db) {
                     51:                printf("008] Expecting database '%s' got '%s'\n",
                     52:                  $db, $tmp->db);
                     53:        }
                     54: 
                     55:        var_dump($res->fetch_field());
                     56: 
                     57:        $res->free_result();
                     58: 
                     59:        if (NULL !== ($tmp = $res->fetch_field()))
                     60:                printf("[007] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
                     61: 
                     62:        $mysqli->close();
                     63:        print "done!";
                     64: ?>
                     65: --CLEAN--
                     66: <?php
                     67:        require_once("clean_table.inc");
                     68: ?>
                     69: --EXPECTF--
                     70: object(stdClass)#%d (13) {
                     71:   [%u|b%"name"]=>
                     72:   %unicode|string%(2) "ID"
                     73:   [%u|b%"orgname"]=>
                     74:   %unicode|string%(2) "id"
                     75:   [%u|b%"table"]=>
                     76:   %unicode|string%(4) "TEST"
                     77:   [%u|b%"orgtable"]=>
                     78:   %unicode|string%(4) "test"
                     79:   [%u|b%"def"]=>
                     80:   %unicode|string%(0) ""
                     81:   [%u|b%"db"]=>
                     82:   %unicode|string%(%d) "%s"
                     83:   [%u|b%"catalog"]=>
                     84:   %unicode|string%(%d) "%s"
                     85:   [%u|b%"max_length"]=>
                     86:   int(1)
                     87:   [%u|b%"length"]=>
                     88:   int(11)
                     89:   [%u|b%"charsetnr"]=>
                     90:   int(63)
                     91:   [%u|b%"flags"]=>
                     92:   int(49155)
                     93:   [%u|b%"type"]=>
                     94:   int(3)
                     95:   [%u|b%"decimals"]=>
                     96:   int(0)
                     97: }
                     98: object(stdClass)#%d (13) {
                     99:   [%u|b%"name"]=>
                    100:   %unicode|string%(5) "label"
                    101:   [%u|b%"orgname"]=>
                    102:   %unicode|string%(5) "label"
                    103:   [%u|b%"table"]=>
                    104:   %unicode|string%(4) "TEST"
                    105:   [%u|b%"orgtable"]=>
                    106:   %unicode|string%(4) "test"
                    107:   [%u|b%"def"]=>
                    108:   %unicode|string%(0) ""
                    109:   [%u|b%"db"]=>
                    110:   %unicode|string%(%d) "%s"
                    111:   [%u|b%"catalog"]=>
                    112:   %unicode|string%(%d) "%s"
                    113:   [%u|b%"max_length"]=>
                    114:   int(%d)
                    115:   [%u|b%"length"]=>
                    116:   int(%d)
                    117:   [%u|b%"charsetnr"]=>
                    118:   int(%d)
                    119:   [%u|b%"flags"]=>
                    120:   int(0)
                    121:   [%u|b%"type"]=>
                    122:   int(254)
                    123:   [%u|b%"decimals"]=>
                    124:   int(0)
                    125: }
                    126: bool(false)
                    127: 
                    128: Warning: mysqli_result::fetch_field(): Couldn't fetch mysqli_result in %s on line %d
                    129: done!

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