Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql PDO jak powiązać LIKE

Możesz też powiedzieć:

SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')

aby wykonać łączenie łańcuchów na końcu MySQL, nie żeby w tym przypadku był jakiś szczególny powód.

Sprawy stają się nieco trudniejsze, jeśli częściowy wrd szukany może sam zawierać procent lub znak podkreślenia (ponieważ mają one specjalne znaczenie dla operatora LIKE) lub ukośnik odwrotny (który MySQL używa jako kolejnej warstwy ucieczki w operatorze LIKE  — niepoprawnie, zgodnie ze standardem ANSI SQL).

Mam nadzieję, że to nie dotyczy ciebie, ale jeśli musisz rozwiązać tę sprawę dobrze, oto niechlujne rozwiązanie:

$stmt= $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz dynamiczne zapytanie mysql za pomocą zmiennych php

  2. Jak sortować wiersze tabeli HTML, które są wywoływane z MySQL

  3. Jak ustawić zestaw znaków i sortowanie kolumny w MySQL?

  4. Jak naprawić podwójnie zakodowane znaki UTF8 (w tabeli utf-8)

  5. użyj mysql SUM() w klauzuli WHERE