Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на по-голямо или равно (>=) и по-малко от или равно (<=) в SQL оператори SELECT и PDO

Опитайте да коригирате малко логиката. Точно като Финикс Райт, понякога е необходимо само да обърнете нещата, за да ги разрешите:

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

Използване на стойност като първи операнд за BETWEEN и IN не е нещо, за което много хора биха се сетили, но е толкова мощно;)

По-важното (и благодаря на Fred -ii-, че случайно ми помогна да осъзная), min и max са имена на функции. Ако искате да ги използвате като имена на колони, трябва увийте ги в обратни точки, както направих в моя код по-горе.

Като общо правило трябва винаги поставете отметки около имената на таблицата и колоните. Да не го направите е подобно на писане на $foo = bar; в PHP. Разбира се, ще работи , но ако bar случайно е име на константа или функция, тогава целият ад избухва.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на MySQL GeoSpatial типове данни в .NET

  2. Трябва ли да деактивирам стриктния режим на MySQL?

  3. Може ли същата колона да има ограничение за първичен и външен ключ към друга колона

  4. Надстройте MySQL до MariaDB 10 (Част 1 – Инсталирайте MariaDB 5.5)

  5. php echo първия ред изчакване/спи след това ехо втория ред