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

PHP PDO Bit(1) mengembalikan tipe data yang salah

Anda menggunakan bidang Bit(1) untuk mewakili nilai boolean (TRUE /FALSE ).

Klien database memetakan bidang bit (yang bisa lebih besar dari satu bit) ke string di mana satu karakter mewakili Oktet.

Anda tidak hanya dapat menggunakan bidang Bit(1) sebagai string PHP melalui ord() berfungsi karena memperlakukan string sebagai Oktet tunggal:

if (ord($Site_Approved)) {
     ...
}

Anda tidak dapat menggunakan $Site_Approved secara langsung karena ini adalah string dan akan selalu dievaluasi menjadi TRUE terlepas dari apakah bit pertama disetel atau tidak.

Atau, Anda dapat memasukkan nilai database dalam kueri SQL ke desimal yang mungkin Anda cari:

s.Site_Approved+0 AS Site_Approved

Nilai desimal dalam rentang 0 hingga 1 berperilaku sangat mirip dengan boolean PHP (mereka hanya tidak berbagi jenisnya, sisanya sama).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 10 fakta &tips menarik tentang MySQL

  2. Cara membuat kueri bergabung menggunakan Sequelize di Node.js

  3. Apakah alat CLI mysql menyediakan cara untuk menampilkan data biner dengan cara yang ramah konsol?

  4. Mengimpor file sql besar ke MySql melalui baris perintah

  5. MySQL:Ada yang salah dengan pencarian Fulltext - Tidak mengembalikan hasil