Annotation of embedaddon/php/ext/mysqli/tests/mysqli_real_query.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: mysqli_real_query()
! 3: --SKIPIF--
! 4: <?php
! 5: require_once('skipif.inc');
! 6: require_once('skipifconnectfailure.inc');
! 7: ?>
! 8: --FILE--
! 9: <?php
! 10: require_once("connect.inc");
! 11:
! 12: $tmp = NULL;
! 13: $link = NULL;
! 14:
! 15: if (!is_null($tmp = @mysqli_real_query()))
! 16: printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 17:
! 18: if (!is_null($tmp = @mysqli_real_query($link)))
! 19: printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 20:
! 21: require('table.inc');
! 22:
! 23: if (NULL !== ($tmp = @mysqli_real_query($link, "SELECT 1 AS a", MYSQLI_USE_RESULT, "foo")))
! 24: printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 25:
! 26: if (false !== ($tmp = mysqli_real_query($link, 'THIS IS NOT SQL')))
! 27: printf("[004] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
! 28:
! 29: if (false !== ($tmp = mysqli_real_query($link, "SELECT 'this is sql but with backslash g'\g")))
! 30: printf("[005] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
! 31:
! 32: if ((0 === mysqli_errno($link)) || ('' == mysqli_error($link)))
! 33: printf("[006] mysqli_errno()/mysqli_error should return some error\n");
! 34:
! 35: if (!mysqli_real_query($link, "SELECT 'this is sql but with semicolon' AS valid ; "))
! 36: printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 37:
! 38: if (!is_object($res = mysqli_use_result($link)))
! 39: printf("[008] Expecting reseult object, got %s/%s [%d] %s\n", gettype($res), $res, mysqli_errno($link), mysqli_error($link));
! 40:
! 41: var_dump(mysqli_fetch_assoc($res));
! 42: mysqli_free_result($res);
! 43:
! 44: if (false !== ($res = mysqli_real_query($link, "SELECT 'this is sql but with semicolon' AS valid ; SHOW VARIABLES")))
! 45: printf("[008] Expecting boolean/false, got %s/%s, [%d] %s\n", gettype($res), $res,
! 46: mysqli_errno($link), mysqli_error($link));
! 47:
! 48: if (mysqli_get_server_version($link) > 50000) {
! 49: // let's try to play with stored procedures
! 50: mysqli_real_query($link, 'DROP PROCEDURE IF EXISTS p');
! 51: if (mysqli_real_query($link, 'CREATE PROCEDURE p(OUT ver_param VARCHAR(25)) BEGIN SELECT VERSION() INTO ver_param;
! 52: END;')) {
! 53: mysqli_real_query($link, 'CALL p(@version)');
! 54: mysqli_real_query($link, 'SELECT @version AS p_version');
! 55: $res = mysqli_store_result($link);
! 56:
! 57: $tmp = mysqli_fetch_assoc($res);
! 58: if (!is_array($tmp) || empty($tmp) || !isset($tmp['p_version']) || ('' == $tmp['p_version'])) {
! 59: printf("[008a] Expecting array [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 60: var_dump($tmp);
! 61: }
! 62:
! 63: mysqli_free_result($res);
! 64: } else {
! 65: printf("[009] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 66: }
! 67: mysqli_real_query($link, 'DROP FUNCTION IF EXISTS f');
! 68: if (mysqli_real_query($link, 'CREATE FUNCTION f( ver_param VARCHAR(25)) RETURNS VARCHAR(25) DETERMINISTIC RETURN
! 69: ver_param;')) {
! 70: mysqli_real_query($link, 'SELECT f(VERSION()) AS f_version');
! 71: $res = mysqli_store_result($link);
! 72:
! 73: $tmp = mysqli_fetch_assoc($res);
! 74: if (!is_array($tmp) || empty($tmp) || !isset($tmp['f_version']) || ('' == $tmp['f_version'])) {
! 75: printf("[009a] Expecting array [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 76: var_dump($tmp);
! 77: }
! 78:
! 79: mysqli_free_result($res);
! 80: } else {
! 81: printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 82: }
! 83: }
! 84:
! 85: mysqli_close($link);
! 86:
! 87: if (NULL !== ($tmp = mysqli_real_query($link, "SELECT id FROM test")))
! 88: printf("[011] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 89:
! 90: print "done!";
! 91: ?>
! 92: --CLEAN--
! 93: <?php
! 94: require_once("connect.inc");
! 95: if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
! 96: printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
! 97:
! 98: if (!mysqli_query($link, "DROP TABLE IF EXISTS test"))
! 99: printf("[c002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 100:
! 101: @mysqli_query($link, "DROP PROCEDURE IF EXISTS p");
! 102: @mysqli_query($link, "DROP FUNCTION IF EXISTS f");
! 103:
! 104: mysqli_close($link);
! 105: ?>
! 106: --EXPECTF--
! 107: array(1) {
! 108: [%u|b%"valid"]=>
! 109: %unicode|string%(30) "this is sql but with semicolon"
! 110: }
! 111:
! 112: Warning: mysqli_real_query(): Couldn't fetch mysqli in %s on line %d
! 113: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>