$key1='a'; $key2='p'; $like1="%$key1%"; $like2="%$key2%";
$sql="SELECT id, title,
CASE WHEN LOCATE('$key1', contents) > LOCATE('$key2', contents)
THEN CONCAT (right(SUBSTRING_INDEX(contents, '$key2', 1), 5),
'$key2', SUBSTRING(contents, LOCATE('$key2', contents)+1, 5) ) as keyString
ELSE CONCAT( right(SUBSTRING_INDEX(contents, '$key1', 1), 5),
'$key1', SUBSTRING(contents, LOCATE('$key1', contents)+1, 5) ) as keyString END
FROM myTable
WHERE contents like ? AND contents like ? ORDER BY id";
$searchQ=$dbc-> prepare ($sql);
$searchQ->execute([$like1, $like2]);
$key1='co'; $key2='a'; $key1Len=strLen($key1Len); $key2Len=strLen($key2Len); $like1="%$key1%"; $like2="%$key2%";
$sql="SELECT id, title,
CASE WHEN LOCATE('$key1', contents) > LOCATE('$key2', contents)
THEN CONCAT (right(SUBSTRING_INDEX(contents, '$key2', 1), 5),
'$key2', SUBSTRING(contents, LOCATE('$key2', contents)+$key2Len, 5) ) as keyString
ELSE CONCAT( right(SUBSTRING_INDEX(contents, '$key1', 1), 5),
'$key1', SUBSTRING(contents, LOCATE('$key1', contents)+$key1Len, 5) ) as keyString END
FROM myTable
WHERE contents like ? AND contents like ? ORDER BY id";
$searchQ=$dbc-> prepare ($sql);
$searchQ->execute([$like1, $like2]);