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

Penggunaan lebih besar dari atau sama dengan (>=) dan lebih kecil dari atau sama dengan (<=) dalam pernyataan SQL SELECT dan PDO

Coba atur sedikit logikanya. Sama seperti Phoenix Wright, terkadang yang diperlukan hanyalah membalikkan keadaan untuk menyelesaikannya:

$pk = $db->prepare("SELECT `grade` FROM `grading` WHERE ? BETWEEN `min` and `max`");
$pk->execute(array($mark));
$ind = $pk->fetch(PDO::FETCH_ASSOC);
echo $ind['grade'];

Menggunakan nilai sebagai operan pertama untuk BETWEEN dan IN bukanlah sesuatu yang akan dipikirkan banyak orang, namun sangat kuat;)

Lebih penting lagi (dan terima kasih kepada Fred -ii- karena secara tidak sengaja membantu saya menyadari), min dan max adalah nama fungsi. Jika Anda ingin menggunakannya sebagai nama kolom, Anda harus bungkus dengan backticks, seperti yang saya lakukan pada kode saya di atas.

Sebagai aturan umum, Anda harus selalu letakkan backticks di sekitar nama tabel dan kolom Anda. Tidak melakukannya sama dengan menulis $foo = bar; di PHP. Tentu, itu akan berhasil , tetapi jika bar kebetulan adalah nama fungsi atau konstanta maka semuanya berantakan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. meneruskan LIMIT sebagai parameter ke MySQL sproc

  2. Pernyataan siap multi_query PHP MySQLi

  3. pilih count(*) dari tabel mysql di php

  4. Kapan menggunakan STRAIGHT_JOIN dengan MySQL

  5. optimalkan kueri mysql dengan operator LIKE untuk 10k catatan