Logic mysqli của bạn có vẻ ổn, có một số ví dụ trong hướng dẫn sử dụng PHP ở đây trong trường hợp bạn không nhìn thấy chúng.
Tại sao bạn lại chọn ID khi không sử dụng nó? Ngoài ra, bạn không thực sự cần phải ràng buộc một kết quả khi nó sẽ chỉ có một hàng được trả về trong tập kết quả đầy đủ vì tôi cho rằng điều này sẽ xảy ra trong trường hợp này (ID là chỉ mục duy nhất trong bảng), hãy sử dụng get_result thay vào đó.
Sử dụng mysqli chuẩn bị sẽ bảo vệ khỏi tất cả các cuộc tấn công tiêm phổ biến nhưng không phải là nội dung kiểu 0 ngày chưa đến trình điều khiển.