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

Sử dụng lớn hơn hoặc bằng (> =) và nhỏ hơn hoặc bằng (<=) trong câu lệnh SQL SELECT và PDO

Hãy thử điều chỉnh logic một chút. Cũng giống như Phoenix Wright, đôi khi cần phải lật lại mọi thứ để giải quyết chúng:

$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'];

Sử dụng một giá trị làm toán hạng đầu tiên cho BETWEENIN không phải là thứ mà nhiều người sẽ nghĩ đến, nhưng nó rất mạnh mẽ;)

Quan trọng hơn (và cảm ơn Fred -ii- đã vô tình giúp tôi nhận ra), minmax là các tên chức năng. Nếu bạn muốn sử dụng chúng làm tên cột, bạn phải bọc chúng trong dấu gạch ngược, như tôi đã làm trong mã của mình ở trên.

Theo nguyên tắc chung, bạn nên luôn luôn đặt dấu gạch ngược xung quanh tên bảng và cột của bạn. Không làm như vậy cũng giống như viết $foo = bar; trong PHP. Chắc chắn, nó sẽ hoạt động , nhưng nếu bar xảy ra là một hằng số hoặc một tên hàm thì mọi thứ sẽ bị phá vỡ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể chèn byte [] vào MySQL bằng java

  2. Cách nhanh nhất để nhập bản sao lưu cơ sở dữ liệu mysql lớn là gì?

  3. Cập nhật chế độ xem tự động trong MySql

  4. Nhanh hơn để ngẫu nhiên nhiều kết quả trên MySQL Server hoặc trong PHP

  5. PDO Nhiều truy vấn:giao dịch cam kết và khôi phục