Hướng dẫn dùng postgres bytea trong PHP
TL; DR:Xóa Thoát kép .. hai lần
Bạn đọc dữ liệu trong, thoát nó như thể nó là một chuỗi ký tự, sau đó chuyển đổi nó thành bytea octal hoặc hex Escape. Nó không bao giờ có thể hoạt động theo cách đó ngay cả khi PHP's Trong trường hợp này, chỉ cần xóa Trường hợp thử nghiệm cho thấy rằng
Chạy:
Kết quả:
Xem các dấu gạch chéo ngược kép? Đó là bởi vì giả sử bạn sẽ nội suy nó vào SQL dưới dạng một chuỗi, điều này cực kỳ kém hiệu quả về bộ nhớ, xấu xí và là một thói quen rất xấu. Tuy nhiên, bạn dường như không nhận được bất kỳ sự thay thế nào. Trong số những điều khác, điều này có nghĩa là:
... tạo ra kết quả sai , vì Giải mãNếu bạn đang sử dụng PostgreSQL
hiện đại, nó có thể được đặt
"Ừm, cái gì", bạn có thể nói? Nó ổn, nó chỉ là biểu diễn hex nhỏ gọn hơn một chút của PostgreSQL Thay vào đó bạn nên làm gìSử dụng PDO. Nó có hỗ trợ lành mạnh (ish) cho
Xem:
Bạn cũng có thể muốn xem xét hỗ trợ lob (đối tượng lớn) của PostgreSQL, cung cấp giao diện trực tuyến, có thể tìm kiếm mà vẫn hoàn toàn có thể giao dịch. Bây giờ, đến hộp xà phòng của tôiNếu PHP có sự phân biệt thực sự giữa các loại "chuỗi byte" và "chuỗi văn bản", bạn thậm chí sẽ không cần Vui lòng sử dụng PDO với các câu lệnh được tham số hóa càng nhiều càng tốt. Trường hợp bạn không thể, ít nhất hãy sử dụng Để được hướng dẫn về
15 hữu ích 2 bình luận chia sẻ |