Вы не можете использовать имя псевдонима, где условие .. Вы должны повторить код
и если вы хотите сравнить зашифрованные значения, вам также следует зашифровать соответствующее значение
и последняя попытка использовать concat ('%', $ result, '%') вместо '% $ result%'
SELECT *
, AES_DECRYPT(firstname,UNHEX(SHA2('',512))) AS stfirst
, AES_DECRYPT(lastname,UNHEX(SHA2('',512))) AS stlast
FROM students
WHERE CONCAT(TRIM(AES_DECRYPT(firstname,UNHEX(SHA2('',512)))), ' ',
TRIM(AES_DECRYPT(lastname,UNHEX(SHA2('',512)))))
LIKE TRIM(AES_DECRYPT( concat('%', $result,'%'),
UNHEX(SHA2('',512)))))
AND currentyear = $currentyear
ORDER BY stlast