Я пытаюсь выполнить этот запрос mySQL на PHP.
$sql = "SELECT * FROM Property
WHERE CONCAT(name, '',
contact_number , '',
hostel_address,'',
renter_name,'',
other_details,'',
date_posted,'') LIKE '%".$var."'
ORDER BY STR_TO_DATE(date_posted,'%d/%m/%Y')";
Я получаю следующую ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY STR_TO_DATE(date_posted,'%d/%m/%Y') ASC' at line 1
Любая помощь здесь :(
Заменить LIKE '%".$var." на LIKE '%".$var."' и ...date_posted,'' на date_posted
если вы используете подготовленный оператор, у вас не будет проблем с конкатенацией
@NigelRen Спасибо за предложение, он все еще дает прибл. та же ошибка.
@Ghost, не могли бы вы рассказать подробнее. Пожалуйста?






можете попробовать это:
$sql = "SELECT * FROM Property WHERE CONCAT(name, '',contact_number , '', hostel_address,'',renter_name,'',other_details,'',date_posted,'') LIKE '%".$var."' ORDER BY STR_TO_DATE(date_posted,'%d/%m/%Y')";
Обратите внимание, что перед ORDER BY должна быть заключительная одинарная кавычка.
Ага. Я исправил это, но он все еще дает ок. та же ошибка.
@Saleh_Ninja, не могли бы вы вставить новое сообщение об ошибке в комментарий?
@Saleh_Ninja CONCAT(name, '',contact_number , '', hostel_address,'',renter_name,'',other_details,'',date_posted,'') AS ConcatenatedString? Попробуй это
@Grace Я уже редактировал вопрос с новой ошибкой. Пожалуйста, посмотрите еще раз
@MasivuyeCokile никакого эффекта.
Думаю, что в
'отсутствует'%".$var." ORDER.