⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysqli_stmt_num_rows.phpt

📁 linux下安装不上mysql5与php5的可用此关联
💻 PHPT
字号:
--TEST--mysqli_stmt_num_rows()--SKIPIF--<?php require_once('skipif.inc'); ?><?php require_once('skipifemb.inc'); ?>--FILE--<?php    include "connect.inc";    $dbname = 'test';        $tmp    = NULL;       $link   = NULL;            if (!is_null($tmp = @mysqli_stmt_num_rows()))        printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);            if (!is_null($tmp = @mysqli_stmt_num_rows($link)))        printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);    require('table.inc');        if (!$stmt = mysqli_stmt_init($link))        printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));              function func_test_mysqli_stmt_num_rows($stmt, $query, $expected, $offset) {                if (!mysqli_stmt_prepare($stmt, $query)) {            printf("[%03d] [%d] %s\n", $offset, mysqli_stmt_errno($stmt), mysqli_error($stmt));            return false;        }                        if (!mysqli_stmt_execute($stmt)) {            printf("[%03d] [%d] %s\n", $offset + 1, mysqli_errno($stmt), mysqli_error($stmt));            return false;        }                if (!mysqli_stmt_store_result($stmt)) {            printf("[%03d] [%d] %s\n", $offset + 2, mysqli_errno($stmt), mysqli_error($stmt));            return false;        }                            if ($expected !== ($tmp = mysqli_stmt_num_rows($stmt)))            printf("[%03d] Expecting %s/%d, got %s/%d\n", $offset + 3,                 gettype($expected), $expected,                gettype($tmp), $tmp);                    mysqli_stmt_free_result($stmt);                return true;    }           func_test_mysqli_stmt_num_rows($stmt, "SELECT 1 AS a", 1, 10);    func_test_mysqli_stmt_num_rows($stmt, "SHOW VARIABLES LIKE '%nixnutz%'", 0, 20);    // Note: for statements that return no result set mysqli_num_rows() differs from mysqli_stmt_num_rows() slightly    // mysqli_num_rows() failed to fetch the result set and the PHP parameter check makes it return NULL    // mysqli_stmt_numrows() has a valid resource to work on and it will return int/0 instead. No bug, but    // slightly different behaviour... - if you really check the data types and don't rely on casting like 98% of all PHP    // users do.    func_test_mysqli_stmt_num_rows($stmt, "INSERT INTO test(id, label) VALUES (100, 'z')", 0, 30);        if ($res = mysqli_query($link, 'SELECT COUNT(id) AS num FROM test')) {        $row = mysqli_fetch_assoc($res);        mysqli_free_result($res);        func_test_mysqli_stmt_num_rows($stmt, "SELECT id, label FROM test", (int)$row['num'], 40);    } else {       printf("[050] [%d] %s\n", mysqli_errno($link), mysqli_error($link));            }        print "run_tests.php don't fool me with your 'ungreedy' expression '.+?'!\n";        if (!mysqli_stmt_prepare($stmt, 'SELECT id FROM test'))        printf("[051] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));            if (mysqli_stmt_execute($stmt)) {                $i = 0;        do {            if (0 !== ($tmp = mysqli_stmt_num_rows($stmt)))                printf("[53 - %03d] Expecting int/0, got %s/%s\n", $i, gettype($tmp), $tmp);            $i++;        } while (mysqli_stmt_fetch($stmt));                if (0 !== ($tmp = mysqli_stmt_num_rows($stmt)))            printf("[54] Expecting int/0, got %s/%s\n", gettype($tmp), $tmp);            } else {        printf("[055] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));    }        mysqli_stmt_close($stmt);        if (NULL !== ($tmp = mysqli_stmt_num_rows($stmt)))        printf("[056] Expecting NULL, got %s/%s\n");                mysqli_close($link);        print "done!";?>--EXPECTF--run_tests.php don't fool me with your 'ungreedy' expression '.+?'!Warning: mysqli_stmt_num_rows(): Couldn't fetch mysqli_stmt in %s on line %ddone! 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -