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

Изберете част от MySQL Blob поле

Тази заявка:

SELECT 
  CONCAT(
    '...', 
    SUBSTR(`description`, 
      LOCATE('Nam rhoncus', `description`) - 10, 
      (LENGTH('Nam rhoncus') + 20)), 
    '...') AS `description`
FROM table 
WHERE `description` LIKE '%Nam rhoncus%';

(Разбих го така, за да е по-лесно за четене)

това ще изведе:

...m auctor. Nam rhoncus, purus eg...

Така че във вашия PHP можете да правите:

<?php
define('CHAR_LEFT', 10);
define('CHAR_RIGHT', 10);
// db stuff
$search = mysql_real_escape_string($search_var);
$query = "SELECT CONCAT('...', SUBSTR(`description`, LOCATE('" . $search . "', `description`) - " . CHAR_LEFT . ", (LENGTH('" . $search . "') + " . (CHAR_LEFT + CHAR_RIGHT) . ")), '...') AS `description` FROM table WHERE `description` LIKE '%" . $search . "%';";
// then your request

ЗАБЕЛЕЖКА: Ще внимавам да използвам обърнати думи на mysql, ето защо използвам description вместо това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на OpenVPN за защитен достъп до вашия клъстер от база данни в облака

  2. Този резултат е набор от резултати само напред, извикването на rewind() след придвижване напред не се поддържа - Zend

  3. Предупреждение:mysql_real_escape_string():Достъпът е отказан за потребител 'root'@'localhost' (използвайки парола:НЕ) .../public_html/checklogin.php

  4. Как да получите достъп до mysqli връзка в друг клас на друга страница?

  5. Защо TRANSACTION / COMMIT подобрява производителността толкова много с PHP/MySQL (InnoDB)?