CRAZy_Str Опубликовано 22 января, 2017 Поделиться Опубликовано 22 января, 2017 Всем привет, пишу пополнение счета на форуме с использованием Robokassa и столкнулся с проблемой, запрос правильный а работать не хочет как не пинай. В базе все возвращает а вот вардамп ROW NULL Сам запрос. \IPS\Db::i()->Select("r.order_id, r.userid, r.money, r.status, r.date, r.crc, r.status1, m.member_id", array( "rkassa", "r" ), array("r.order_id = 1485120238"), NULL, 1)->join(array( 'core_members', 'm' ), array( 'r.userid = m.member_id' )); Спойлер Спойлер #kotomafia 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Silence Опубликовано 22 января, 2017 Поделиться Опубликовано 22 января, 2017 А что ета 'r.' ....? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CRAZy_Str Опубликовано 22 января, 2017 Автор Поделиться Опубликовано 22 января, 2017 1 минуту назад, Silence сказал: А что ета 'r.' ....? Обозначение к какой таблице относится то или иное поле, в данном случае мы берем из rkassa и присваиваем поля к букве r поле берем от туда order_id а из core_members берем member_id затем ON сравнение есть ли соответствие userid == member_id и выводим результат по WHERE order_id = значение. Если есть то выводим ответ. В данном случае в самой базе запрос работает а вот форум выполнять это не хочет. Почитай по JOIN sql запросы)) Проще так показать 10 минут назад, Silence сказал: А что ета 'r.' ....? Спойлер Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Silence Опубликовано 22 января, 2017 Поделиться Опубликовано 22 января, 2017 \IPS\Db::i()->select( '*', "r.order_id, r.userid, r.money, r.status, r.date, r.crc, r.status1, m.member_id", array( "rkassa", "r" ), array("r.order_id = 1485120238"), NULL, 1)->join(array( 'core_members', 'm' ), array( 'r.userid = m.member_id' )); Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CRAZy_Str Опубликовано 22 января, 2017 Автор Поделиться Опубликовано 22 января, 2017 2 минуты назад, Silence сказал: \IPS\Db::i()->select( '*', "r.order_id, r.userid, r.money, r.status, r.date, r.crc, r.status1, m.member_id", array( "rkassa", "r" ), array("r.order_id = 1485120238"), NULL, 1)->join(array( 'core_members', 'm' ), array( 'r.userid = m.member_id' )); Нее SELECT r.* FROM `m.member_id` LEFT JOIN `core_members` AS `m` ON r.userid = m.member_id WHERE rkassa GROUP BY `1` ORDER BY r.order_id = 1485120238 3 минуты назад, Silence сказал: \IPS\Db::i()->select( '*', "r.order_id, r.userid, r.money, r.status, r.date, r.crc, r.status1, m.member_id", array( "rkassa", "r" ), array("r.order_id = 1485120238"), NULL, 1)->join(array( 'core_members', 'm' ), array( 'r.userid = m.member_id' )); SELECT r.*, m.* FROM `rkassa` AS `r` LEFT JOIN `core_members` AS `m` ON r.userid = m.member_id WHERE r.order_id = 1485120238 LIMIT 1 Спойлер 1 sql запрос идёт сразу в 2 таблицы. rkassa и core_members, и выводит информацию сразу из 2 таблиц, поэтому я приписываю к r. определенное поле тоесть указав r.* и m.* он покажет мне все результаты с двух таблиц а я вытаскиваю только мне нужные. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CRAZy_Str Опубликовано 22 января, 2017 Автор Поделиться Опубликовано 22 января, 2017 Сам решил $query = \IPS\Db::i()->query("SELECT r.order_id, r.userid, r.money, r.status, r.date, r.crc, r.status1, m.member_id FROM `rkassa` AS `r` LEFT JOIN `core_members` AS `m` ON r.userid = m.member_id WHERE r.order_id = 1485120238 LIMIT 1"); $query = $query->fetch_assoc(); var_dump($query); #kotomafia 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.