2013-05-19 2 views
1

У меня есть запрос для поиска с помощью внутреннего соединения, но ошибка синтаксиса сообщение отображения браузераsyantax ошибка при использовании PHP MySQL и внутреннее соединение

20You есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего MySQL-сервера, для правильного синтаксиса для использования рядом с '=' или деревней = '') 'по строке 17

может кто-нибудь сообщить мне, что не так с моим запросом ???

запрос:

$sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, 
    s.specialization_name, 
    g.governorate_name, 
    d.district_name, 
    v.village_name 
      FROM members u 
         INNER JOIN specialization s 
         ON u.specialization = s.specialization_id 
         INNER JOIN governorate g 
         ON u.governorate = g.governorate_id 
         INNER JOIN districts d 
         ON u.district = d.district_id 
         INNER JOIN village v 
         ON u.village = v.id 
         where (governorate = ''or governorate = '$bygov') or 
          (district = '' or district = '$bydist') or 
          (village = '' or village = '$byvillage')") 
          or die(mysql_error()); 
+0

ли вы имеете в виду 'деревня = '' или деревня =«$ byvillage''? –

ответ

0

Вы должны процитировать ваши строки:

$sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, 
    s.specialization_name, 
    g.governorate_name, 
    d.district_name, 
    v.village_name 
      FROM members u 
         INNER JOIN specialization s 
         ON u.specialization = s.specialization_id 
         INNER JOIN governorate g 
         ON u.governorate = g.governorate_id 
         INNER JOIN districts d 
         ON u.district = d.district_id 
         INNER JOIN village v 
         ON u.village = v.id 
         where ('$bygov' = '' or governorate = '$bygov') and 
          ('$bydist' = '' or district = '$bydist') and 
          ('$byvillage' = '' or village = '$byvillage')") 
          or die(mysql_error()); 
+0

, так что он больше не показывает ошибку sytax, но теперь он показывает всех пользователей с этим мухафатом, даже если я выбираю специальный район или город, кто-нибудь может мне помочь ??? – LebDev

+0

Вам нужно сделать отладку. т. е. поместить этот запрос в переменную и показать содержимое переменной на странице. Очень похоже, что ваша переменная $ bygov пуста. – arheops

0

Вы не должны сравнивать переменную PHP в SQL запросе.

не должно быть:

$sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, 
    s.specialization_name, 
    g.governorate_name, 
    d.district_name, 
    v.village_name 
      FROM members u 
         INNER JOIN specialization s 
         ON u.specialization = s.specialization_id 
         INNER JOIN governorate g 
         ON u.governorate = g.governorate_id 
         INNER JOIN districts d 
         ON u.district = d.district_id 
         INNER JOIN village v 
         ON u.village = v.id 
         where (governorate= '' or governorate = '$bygov') and 
          (district= '' or district = '$bydist') and 
          (village= '' or village = '$byvillage')") 
          or die(mysql_error()); 
+0

, так что он больше не показывает ошибку sytax, но теперь он показывает всех пользователей этой мухафазы, даже если я выбираю специальный район или город, кто-нибудь может мне помочь ??? – LebDev

Смежные вопросы