sql >> Databáze >  >> RDS >> Mysql

Použití větší než nebo rovno (>=) a menší než nebo rovno (<=) v příkazech SQL SELECT a PDO

Zkuste trochu upravit logiku. Stejně jako u Phoenixe Wrighta někdy k jejich vyřešení stačí obrátit věci:

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

Použití hodnoty jako prvního operandu pro BETWEEN a IN není něco, co by mnoho lidí napadlo, a přesto je to tak mocné;)

A co je důležitější (a díky Fredovi -ii- za to, že mi náhodou pomohl uvědomit si), min a max jsou názvy funkcí. Pokud je chcete použít jako názvy sloupců, musíte zabalte je do zadních značek, jak jsem to udělal v kódu výše.

Obecně platí, že byste měli vždy zaškrtněte názvy tabulek a sloupců. Nečinit to je podobné psaní $foo = bar; v PHP. Jistě, bude to fungovat , ale pokud bar stane se konstantou nebo názvem funkce, pak se rozpoutá peklo.




  1. PŘIPOJTE SE ke třem stolům

  2. vytvoření databáze v mysql z javy

  3. Nové a vyvíjející se podnikové funkce PostgreSQL s nejnovějšími verzemi

  4. Jak mohu získat autoinkrementované id, když vložím záznam do tabulky přes jdbctemplate