Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP- memasukkan data biner di mysql menggunakan pernyataan yang disiapkan

sha1 PHP fungsi mengembalikan representasi string dari angka heksadesimal.

Artinya, jika Anda mencetaknya ke layar, itu akan menampilkan angka heksagonal. Namun dalam ingatan, itu adalah sekumpulan karakter ASCII.

Jadi, ambil angka hex 1A2F . Sebagai ASCII dalam memori yang akan menjadi 0x31413246 , alih-alih 0x1A2F

Antarmuka normal MySQL mengirimkan semua argumen sebagai string. Saat menggunakan antarmuka normal, MySQL akan mengubah string ASCII menjadi nilai biner.

Metode pernyataan baru yang disiapkan mengirimkan semuanya sebagai biner. Jadi nilai bagus Anda dari "1A2F" sekarang akan dikirim sebagai 0x31413246 dan dimasukkan ke dalam kolom. - sumber:dev.mysql.com - Pernyataan yang disiapkan

Alih-alih, ubah string Hex Anda dengan mengemasnya menjadi string biner menggunakan:

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

lalu berikan $binId ke pernyataan yang disiapkan MySQLi alih-alih $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. Tidak dapat mengonversi nilai tanggal/waktu MySQL ke System.DateTime

  2. Menautkan wadah Django dan mysql menggunakan docker-compose

  3. Menggunakan MySQL dengan Layanan Heterogen Oracle

  4. Pilih hari dalam seminggu dari tanggal

  5. Enkripsi saat istirahat dan/atau AES_ENCRYPT