Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP- chèn dữ liệu nhị phân trong mysql bằng cách sử dụng các câu lệnh đã chuẩn bị sẵn

sha1 của PHP hàm trả về một biểu diễn chuỗi của một số hex.

Điều đó có nghĩa là nếu bạn in nó ra màn hình, nó sẽ hiển thị một số hex. Nhưng trong bộ nhớ, nó là một loạt các ký tự ASCII.

Vì vậy, hãy lấy số hex 1A2F . Dưới dạng ASCII trong bộ nhớ sẽ là 0x31413246 , thay vì 0x1A2F

Giao diện bình thường của MySQL gửi tất cả các đối số dưới dạng chuỗi. Khi sử dụng giao diện bình thường, MySQL sẽ chuyển đổi chuỗi ASCII thành giá trị nhị phân.

Phương thức câu lệnh chuẩn bị mới gửi mọi thứ dưới dạng nhị phân. Vì vậy, giá trị đẹp của bạn là "1A2F" bây giờ sẽ được gửi dưới dạng 0x31413246 và được chèn vào cột. - nguồn:dev.mysql.com - Báo cáo chuẩn bị sẵn

Thay vào đó, hãy chuyển đổi chuỗi Hex của bạn bằng cách đóng gói nó thành một chuỗi nhị phân bằng cách sử dụng:

$binId = pack("H*", $id); // this string is not ASCII, don't print it to the screen! That will be ugly.

và sau đó chuyển $binId sang câu lệnh chuẩn bị MySQLi thay vì $ id.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết nối cơ sở dữ liệu mysql và chèn dữ liệu vào đó bằng mã android

  2. Mã lỗi 1292 - Giá trị DOUBLE không chính xác bị cắt ngắn - Mysql

  3. Levenshtein:MySQL + PHP

  4. MySQL length () so với char_length ()

  5. Cách tạo blog trong cơ sở dữ liệu PHP và MySQL - Thiết kế DB