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

mysql PDO как да обвържем LIKE

Можете също да кажете:

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

да извършите свързването на низовете в края на MySQL, не че има някаква конкретна причина в този случай.

Нещата стават малко по-трудни, ако частичният wrd който търсите може да съдържа знак за процент или долно подчертаване (тъй като те имат специално значение за оператора LIKE) или обратна наклонена черта (която MySQL използва като друг слой за екраниране в оператора LIKE — неправилно, според стандарта ANSI SQL).

Надяваме се, че това не ви засяга, но ако все пак трябва да оправите случая, ето обърканото решение:

$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. Имена на динамични таблици във функцията за съхранена процедура

  2. Как работи функцията LTRIM() в MySQL

  3. Използване на изгледи на MySQL

  4. Как да проверите размера на базата данни и таблиците на MySQL

  5. SQL Server предлага ли нещо като MySQL ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ