--TEST-- mysqli_stmt_fetch() --EXTENSIONS-- mysqli --SKIPIF-- --FILE-- getMessage() . "\n"; } if (!mysqli_stmt_prepare($stmt, "SELECT id, label FROM test ORDER BY id LIMIT 2")) printf("[005] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); // FIXME - different versions return different values ?! if ((NULL !== ($tmp = mysqli_stmt_fetch($stmt))) && (false !== $tmp)) printf("[006] Expecting NULL or boolean/false, got %s/%s\n", gettype($tmp), $tmp); if (!mysqli_stmt_execute($stmt)) printf("[007] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (true !== ($tmp = mysqli_stmt_fetch($stmt))) printf("[008] NULL, got %s/%s\n", gettype($tmp), $tmp); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[009] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, "SELECT id, label FROM test ORDER BY id LIMIT 2")) printf("[010] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[011] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = NULL; $label = NULL; if (true !== ($tmp = mysqli_stmt_bind_result($stmt, $id, $label))) printf("[012] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp); if (true !== ($tmp = mysqli_stmt_fetch($stmt))) printf("[013] Expecting boolean/true, got %s/%s, [%d] %s\n", gettype($tmp), $tmp, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!$link->query('KILL '.mysqli_thread_id($link))) printf("[014] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (true !== ($tmp = mysqli_stmt_fetch($stmt))) printf("[015] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp); mysqli_stmt_close($stmt); try { mysqli_stmt_fetch($stmt); } catch (Error $exception) { echo $exception->getMessage() . "\n"; } mysqli_close($link); print "done!"; ?> --CLEAN-- --EXPECTF-- mysqli_stmt object is not fully initialized [014] [%d] Commands out of sync; you can't run this command now mysqli_stmt object is already closed done!