--TEST-- mysqli_real_query() --EXTENSIONS-- mysqli --SKIPIF-- --FILE-- 50000) { // let's try to play with stored procedures mysqli_real_query($link, 'DROP PROCEDURE IF EXISTS p'); if (mysqli_real_query($link, 'CREATE PROCEDURE p(OUT ver_param VARCHAR(25)) BEGIN SELECT VERSION() INTO ver_param; END;')) { mysqli_real_query($link, 'CALL p(@version)'); mysqli_real_query($link, 'SELECT @version AS p_version'); $res = mysqli_store_result($link); $tmp = mysqli_fetch_assoc($res); if (!is_array($tmp) || empty($tmp) || !isset($tmp['p_version']) || ('' == $tmp['p_version'])) { printf("[008a] Expecting array [%d] %s\n", mysqli_errno($link), mysqli_error($link)); var_dump($tmp); } mysqli_free_result($res); } else { printf("[009] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } mysqli_real_query($link, 'DROP FUNCTION IF EXISTS f'); if (mysqli_real_query($link, 'CREATE FUNCTION f( ver_param VARCHAR(25)) RETURNS VARCHAR(25) DETERMINISTIC RETURN ver_param;')) { mysqli_real_query($link, 'SELECT f(VERSION()) AS f_version'); $res = mysqli_store_result($link); $tmp = mysqli_fetch_assoc($res); if (!is_array($tmp) || empty($tmp) || !isset($tmp['f_version']) || ('' == $tmp['f_version'])) { printf("[009a] Expecting array [%d] %s\n", mysqli_errno($link), mysqli_error($link)); var_dump($tmp); } mysqli_free_result($res); } else { printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } } mysqli_close($link); try { mysqli_real_query($link, "SELECT id FROM test"); } catch (Error $exception) { echo $exception->getMessage() . "\n"; } print "done!"; ?> --CLEAN-- --EXPECT-- array(1) { ["valid"]=> string(30) "this is sql but with semicolon" } mysqli object is already closed done!