No es necesario, pero depende mucho de si entiendes lo que te está ocurriendo, si no lo entiendes entonces si deberías usar otra cosa.
El punto es que estás una variable que no está definida, que no existe y por lo tanto no devuelve ningún valor de utilidad, el ejemplo que estás ejecutando requiere de un valor para funcione correctamente.
La variable de sesión era precisamente para eso, probablemente en algún otro script guardas en sesión dicho ID para usarlo después, pero como eso no lo estás haciendo ahí está el hueco.
Si no usas variables de sesión entonces dicho ID debe venir de algún lado, ¿de dónde?
Eso no lo sabemos, como programador eso debes determinarlo tu, nosotros no.