Không, các truy vấn được chuẩn bị sẵn (khi được sử dụng đúng cách) sẽ đảm bảo dữ liệu được thoát đúng cách để truy vấn an toàn. Bạn đang sử dụng chúng đúng cách, chỉ cần thay đổi một điều nhỏ. Bởi vì bạn đang sử dụng dấu '?' trình giữ chỗ, tốt hơn là chuyển các tham số thông qua phương thức thực thi.
$sql->execute(array($consulta));
Chỉ cần cẩn thận nếu bạn đang xuất dữ liệu đó ra trang của mình, việc làm sạch cơ sở dữ liệu không có nghĩa là nó sẽ an toàn để hiển thị trong HTML, vì vậy hãy chạy htmlspecialchars () trên đó.