Primeiro você cria a declaração muito parecida com uma declaração normal que você fez
$stmt = $mysqli->prepare("INSERT INTO jokes (category_id, joke_text)
SELECT c.id, ?
FROM categories AS c WHERE c.id = ?;");
Obter a instrução vinculada ao parâmetro 's' significa dados de string e i para inteiro
$stmt->bind_param('si', $joke_text,$category_id); // bind to the parameters
/* executa a instrução preparada */
$stmt->execute();