As declarações preparadas usam o '?' no MySQL para permitir parâmetros de ligação à instrução. Altamente considerado como mais seguro contra injeções de SQL se usado corretamente. Isso também permite consultas SQL mais rápidas, pois a solicitação só precisa ser compilada uma vez e pode ser reutilizada.