m_klyushkov
@m_klyushkov
Инженер

MSSQL-запрос в PHP?

Добрый день! Для кого-то вопрос покажется глупым, но я надеюсь на него ответят…


Итак, есть база данных MSSQL. Через Microsoft SQL Server Managment Studio выполняю запрос:

select count(DISTINCT stb.mac)
from [tve_34_sp1].[dbo].[SET_TOP_BOX] stb
inner join [tve_34_sp1].[dbo].[PARTY_ROLE] pr on stb.owner = pr.id
inner join [tve_34_sp1].[dbo].[PARTY] nm on pr.party = nm.id
inner join [tve_34_sp1].[dbo].[CUSTOMER] cs on stb.owner = cs.id
inner join [tve_34_sp1].[dbo].[SERVICE] ss on stb.owner = ss.customer
inner join [tve_34_sp1].[dbo].[SERVICE_SPECIFICATION] sp on ss.srv_spec = sp.id

where pr.name like 'Q%'
and sp.name like 'blabla';



И получаю число 178, все отлично, но когда я пытаюсь выполнить этот запрос через PHP (apache2, linux), то получаю результат 0.


Вот такой код:

<?php


$link = mssql_connect('1.2.3.4', 'sa', 'password');
    mssql_select_db('tve_34_sp1', $link);

$sql = "select count(DISTINCT stb.mac)
from [tve_34_sp1].[dbo].[SET_TOP_BOX] stb
inner join [tve_34_sp1].[dbo].[PARTY_ROLE] pr on stb.owner = pr.id
inner join [tve_34_sp1].[dbo].[PARTY] nm on pr.party = nm.id
inner join [tve_34_sp1].[dbo].[CUSTOMER] cs on stb.owner = cs.id
inner join [tve_34_sp1].[dbo].[SERVICE] ss on stb.owner = ss.customer
inner join [tve_34_sp1].[dbo].[SERVICE_SPECIFICATION] sp on ss.srv_spec = sp.id

where pr.name like 'Q%'
and sp.name like 'blabla'";

$sql = mssql_query($sql);

while($obResults = mssql_fetch_row($sql))
{
   echo $obResults[0];
}


mssql_close($link);
?>



Подскажите, что я сделал не так?

Да, я понимаю, что решение использовать PHP не самое лучшее…
  • Вопрос задан
  • 8029 просмотров
Решения вопроса 1
gaelpa
@gaelpa
Как гипотеза: возможно, что проблема в Collation. Натыкался и решал коллега, так что слету пути проверки/решения подсказать не смогу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
stan_jeremy
@stan_jeremy
а что говорит mssql_get_last_message()?
Ответ написан
m_klyushkov
@m_klyushkov Автор вопроса
Инженер
Похоже, что запросы с join неверно обрабатываются…
Ответ написан
Комментировать
@Hint
Проверьте результаты функций mssql_connect и mssql_select_db.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы