Jump to content

Проблема с запросом SQL

Featured Replies

Posted
comment_120886

Всем привет, пишу пополнение счета на форуме с использованием 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' ));

 

Спойлер

Безымянный.png

 

Спойлер

Безымянный1.png

 

  • Author
comment_120889
1 минуту назад, Silence сказал:

А что ета 'r.' ....?

Обозначение к какой таблице относится то или иное поле, в данном случае мы берем из rkassa и присваиваем поля к букве r поле берем от туда order_id а из core_members берем member_id затем ON сравнение есть ли соответствие userid == member_id и выводим результат по WHERE order_id = значение. Если есть то выводим ответ. В данном случае в самой базе запрос работает а вот форум выполнять это не хочет.

Почитай по JOIN sql запросы))

Проще так показать

10 минут назад, Silence сказал:

А что ета 'r.' ....?

 

Спойлер

Безымянный.png

 

comment_120890
\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' ));

 

  • Author
comment_120891
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' ));

 

Нее :D

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 
Спойлер

Безымянный.png

1 sql запрос идёт сразу в 2 таблицы.  rkassa и core_members, и выводит информацию сразу из 2 таблиц, поэтому я приписываю к r. определенное поле тоесть указав r.* и m.* он покажет мне все результаты с двух таблиц а я вытаскиваю только мне нужные.

  • Author
comment_120892

Сам решил :D

$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);

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.