За последние 24 часа нас посетили 61011 программистов и 1744 робота. Сейчас ищут 1026 программистов ...

При добавлении очередного LEFT JOIN выводит ошибку!

Тема в разделе "PHP и базы данных", создана пользователем ky3mu4u, 8 дек 2011.

  1. ky3mu4u

    ky3mu4u Активный пользователь

    С нами с:
    16 ноя 2007
    Сообщения:
    111
    Симпатии:
    0
    При добавлении очередного LEFT JOIN выводит ошибку Warning: Invalid argument supplied for foreach().
    Вот код запроса:
    Код (Text):
    1. $sql = "SELECT DISTINCT u.id, u.name, u.username, u.block, DATE_FORMAT(u.lastvisitDate, '%d.%m.%Y') as lastvisitDate, DATE_FORMAT(u.registerDate, '%d.%m.%Y') as registerDate, scu.status, scu.tel1_ser, scu.tel2_ser, scu.name_ser, scu.email_ser, scu.status2, scu.user_id, scu.expects, scu.dog_send, scu.upload, scu.params, scu.nomoney, scu.drzap, scu.dopinfoinf2, scu.dogovorno, scu.dogovordata, scu.summwork, scu.summroad, scu.newor, r.statu, rep.status as statusr, rep.st_rep_sum, repz.st_rep_road, repz.status as statusrz, o.newo, oz.newo as newooz"
    2.         . "\n FROM #__users as u"
    3.         . "\n LEFT JOIN jos_scusers as scu ON(scu.user_id = u.id)"
    4.         . "\n LEFT JOIN jos_screport as r ON(r.statu = 1 and r.user_id = u.id)"
    5.         . "\n LEFT JOIN jos_screport as rep ON((rep.status = 1 and rep.st_rep_sum = 0) and rep.user_id = u.id)"
    6.         . "\n LEFT JOIN jos_screport as repz ON(repz.status = 1 and repz.st_rep_road = 0 and repz.user_id = u.id)"
    7.                 . "\n LEFT JOIN jos_scorders as o ON(o.newo = 1 and o.user_id = u.id)"
    8.         . "\n LEFT JOIN jos_scorders as oz ON(oz.newo = 3 and oz.user_id = u.id)"
    9.       //   . "\n LEFT JOIN jos_scorder_prize as opi ON(opi.pstatus = 1 and opi.id_serv = u.id)"
    ошибку выдает на 7мой LEFT JOIN при снятии комментария со строки, хотя он не чем не отличается от предыдущих.
    к примеру если поменять местами 6той и 7мой LEFT JOIN то ошибку начинает выдавать тот который работал до этого, а который не работал, теперь работает! такое ощущение как будто ограничение где стоит не более 6ти JOIN! у меня joostina.
    в чем может быть причина такой ошибки?
     
  2. ky3mu4u

    ky3mu4u Активный пользователь

    С нами с:
    16 ноя 2007
    Сообщения:
    111
    Симпатии:
    0
    да кстати если в строке которая выводит ошибку прописать вместо LEFT JOIN , RIGHT JOIN то он выводит записи но только те которые соответствуют этому запросу, всю остальную таблицу он не выводит!
     
  3. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Вы бы разобрались для начала когда используется LEFT JOIN и когда RIGHT JOIN, а после писали бы выводы подобные и еще очень интересно читать сообщение об ошибке в цикле foreach, но разбирать почему-то совсем другой код...
     
  4. ky3mu4u

    ky3mu4u Активный пользователь

    С нами с:
    16 ноя 2007
    Сообщения:
    111
    Симпатии:
    0
    Во всех случаях используется LEFT JOIN а через foreach выводится вся таблица