--TEST-- mysqli_stmt_execute() - SP, next result --SKIPIF-- --FILE-- query("SELECT 1")) printf("[013] [%d] %s\n", $link->errno, $link->error); } else { printf("[004] Cannot create SP, [%d] %s.\n", mysqli_errno($link), mysqli_error($link)); } if (!mysqli_query($link, 'DROP PROCEDURE IF EXISTS p')) printf("[014] [%d] %s.\n", mysqli_errno($link), mysqli_error($link)); if (mysqli_real_query($link, 'CREATE PROCEDURE p(IN ver_in VARCHAR(25)) BEGIN SELECT ver_in AS _ver_out; SELECT 1 AS _more; END;')) { // two result sets if (!$stmt = mysqli_prepare($link, 'CALL p(?)')) printf("[015] Cannot prepare CALL, [%d] %s\n", mysqli_errno($link), mysqli_error($link)); $version = 'myversion'; if (!mysqli_stmt_bind_param($stmt, 's', $version)) printf("[016] Cannot bind input parameter, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[017] Cannot execute CALL, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $version = NULL; if (!mysqli_stmt_bind_result($stmt, $version) || !mysqli_stmt_fetch($stmt)) printf("[018] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if ($version !== "myversion") printf("[019] Results seem wrong, got %s, [%d] %s\n", $version, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_more_results($link) || !mysqli_next_result($link)) printf("[020] [%d] %s\n", $link->errno, $link->error); $more = NULL; if (!mysqli_stmt_bind_result($stmt, $more) || !mysqli_stmt_fetch($stmt)) printf("[021] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if ($more !== 1) printf("[022] Results seem wrong, got %s, [%d] %s\n", $more, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_close($stmt)) printf("[023] Cannot close statement, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!$link->query("SELECT 1")) printf("[024] [%d] %s\n", $link->errno, $link->error); } else { printf("[025] Cannot create SP, [%d] %s.\n", mysqli_errno($link), mysqli_error($link)); } mysqli_close($link); print "done!"; ?> --CLEAN-- --XFAIL-- Unsupported and undefined, under development --EXPECT-- [010] More results: yes [011] Next result: yes done!