2015-03-06 2 views
-1

Я пытаюсь отобразить записи для порядка выпуска и разрешить пользователю искать имя_пользователя и release_date.Дата и время поиска

Я получаю эту ошибку:

Error: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'release Like '%%' ' at line 19" //HTML form //php code for searching $search=$_POST['search']; $search1=$_POST['search1'];

$result=mysql_query("SELECT order1.order_id, 
        order1.customer_id, 
        order1.release as releasedate, 
        customer1.customer_name as Customer 
        FROM order1 left join customer1 on order1.customer_id= 
        customer1.customer_id 

        where customer_name LIKE '%$search%' 
        And release Like '%$search1%' 
        order by release Asc") or die(mysql_error()); 
+1

Похоже, что '$ search1' пуст. –

ответ

1

релиз MySQL зарезервированное слово, как можно видеть here.

Попробуйте убежать вы запрашиваете как это:

SELECT 
    `order1`.`order_id`, 
    `order1`.`customer_id`, 
    `order`.`release` AS `releasedate`, 
    `customer1`.`customer_name` AS `Customer` 
FROM 
    `order1` 
    LEFT JOIN `customer1` ON `order1`.`customer_id` = `customer1`.`customer_id` 
WHERE 
    `customer_name` LIKE '%$search%' 
    AND `release` LIKE '%$search1%' 
ORDER BY 
    `release` ASC 

Я всегда ускользает все имена таблиц и столбцов, просто для безопасности. И также неплохо использовать один стиль написания - в одном месте кода у вас есть LIKE, в другом, что вам нравится - это поможет вам изменить свой код в будущем.