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

Periksa tipe variabel PHP terhadap tipe data MYSQL

Jika data berasal dari file CSV, Anda harus ingat bahwa semua nilai akan berupa string (bahkan string numerik tetap memiliki tipe string).

Jadi Anda tidak dapat menggunakan is_int() /is_float() /etc., karena itu hanya memberi tahu Anda tentang tipe atau variabelnya. Anda dapat menggunakan is_numeric() untuk memeriksa nilainya, tetapi ini akan memungkinkan hal-hal seperti notasi eksponensial seperti "+0123.45e6". Terkadang ctype_digit() dapat berguna untuk menguji bilangan bulat karena alasan ini, karena hanya akan memungkinkan angka 0-9 hadir dalam string untuk mengembalikan nilai true.

Ekspresi reguler juga dapat digunakan untuk mengidentifikasi tipe data berbasis pola, tetapi Anda harus memperhatikan overhead kinerja saat menangani kumpulan data besar. Hampir selalu disarankan dari perspektif kinerja untuk menggunakan preg_ keluarga fungsi alih-alih ereg fungsi.

Jika Anda memvalidasi hal-hal seperti tipe ENUM atau SET, Anda mungkin perlu membuat array yang berisi nilai legal (atau mengekstraknya dengan kueri) lalu memeriksa nilainya dengan in_array() .

Untuk bidang CHAR/VARCHAR, Anda dapat mengurai definisi kolom dan kemudian memeriksa apakah panjang nilai termasuk dalam batasan.

Jika jenis NULL diperbolehkan di salah satu kolom Anda, Anda juga perlu memeriksanya (dan mungkin memetakan nilai kosong atau string "NULL" ke nilai NULL yang sebenarnya).

Jika Anda ingin benar-benar keluar dari nilai-nilai ini dengan benar, lihat menggunakan pernyataan yang disiapkan dan ekstensi PDO (Objek Data PHP). Ini memungkinkan MySQL untuk keluar dari data berdasarkan tipe dengan benar. (Anda juga dapat menggunakan pernyataan yang telah disiapkan dengan MySQLi.)

Jika Anda mencari tipe data tertentu dan cara mengidentifikasinya, Anda mungkin ingin mengedit pertanyaan Anda untuk memfasilitasi jawaban yang lebih lengkap.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pertanyaan Keamanan PHP dan MySQL Salt

  2. Memperbarui Kotak Centang yang Sudah Dicentang di PHP

  3. ModuleNotFoundError:Tidak ada modul bernama 'mysite'

  4. Temukan MAX SUM di MySQL

  5. Menggunakan kontrol versi (Git) pada database MySQL