--TEST-- mysqli_stmt_get_result() - SHOW, DESCRIBE, EXPLAIN --SKIPIF-- --FILE-- prepare('SHOW ENGINES') || !$stmt->execute()) printf("[002] [%d] %s\n", $stmt->errno, $stmt->error); if (!$res = $stmt->get_result()) printf("[003] [%d] %s\n", $stmt->errno, $stmt->error); $engines = mysqli_fetch_all($res, MYSQLI_NUM); if (empty($engines)) { printf("[004] It is very unlikely that SHOW ENGINES returns no data, check manually\n"); } else { $found = false; foreach ($engines as $k => $engine) foreach ($engine as $k => $v) if (stristr('MyISAM', $v)) { $found = true; break; } if (!$found) printf("[005] It is very unlikely that SHOW ENGINES does not show MyISAM, check manually\n"); } mysqli_free_result($res); } if (mysqli_query($link, 'PREPARE mystmt FROM "DESCRIBE test id"')) { mysqli_query($link, 'DEALLOCATE PREPARE mystmt'); if (!$stmt->prepare('DESCRIBE test id') || !$stmt->execute()) printf("[006] [%d] %s\n", $stmt->errno, $stmt->error); if (!$res = $stmt->get_result()) printf("[007] [%d] %s\n", $stmt->errno, $stmt->error); $description = mysqli_fetch_assoc($res); if ($description['Field'] != 'id') { printf("[008] Returned data seems wrong, [%d] %s\n", mysqli_errno($link), mysqli_error($link)); var_dump($description); } mysqli_free_result($res); } if (mysqli_query($link, 'PREPARE mystmt FROM "EXPLAIN SELECT id FROM test"')) { mysqli_query($link, 'DEALLOCATE PREPARE mystmt'); if (!$stmt->prepare('EXPLAIN SELECT id FROM test') || !$stmt->execute()) printf("[009] [%d] %s\n", $stmt->errno, $stmt->error); if (!$res = $stmt->get_result()) printf("[010] [%d] %s\n", $stmt->errno, $stmt->error); $tmp = mysqli_fetch_assoc($res); if (empty($tmp)) printf("[011] Empty EXPLAIN result set seems wrong, check manually, [%d] %s\n", mysqli_errno($link), mysqli_error($link)); mysqli_free_result($res); } mysqli_close($link); print "done!"; ?> --CLEAN-- --EXPECTF-- done!