Ir para conteúdo
Fórum Script Brasil
  • 0

mssql_query não executa corretamente Com SQL Server 2008 Express


fe_sp

Pergunta

Quando tento executar uma query muito grande tenho a impressão que o mssql_query não é executado corretamente pois a quantidade de linha sempre é igual a zero.

Porém quando copio a query e executo direto no SQL é retornado várias linhas.

Quando uso o SQL Server 7 funciona corretamente.

Utilizo:

PHP: 5.2.6

Apache: 2.0.50

Windows XP SP3

SQLSERVER EXPRESS 2008

<php

$db=mssql_connect("MEUPC\SQLEXPRESS","login","password");

if (!$db)

{

echo "<br><br>erro na conexão com o SQLServer!!!<br>";

echo "<meta http-equiv=\"refresh\" content=\"5;history.back(1)\">";

exit(1);

}

else

{

mssql_select_db("bd_name",$db);

}

$query="select distinct cd_id ,cd_CallerId ,cd_CalledDevice ,cd_AnsweringDevice ,cd_IsIncoming ,cr_id ,cr_Result ,cpn_id ,cpn_name ,convert(varchar,cd_StartTime,120)as cd_StartTime ,convert(varchar,cd_RingStartTime,120)as cd_RingStartTime ,convert(varchar,cd_AnswerTime,120)as cd_AnswerTime ,convert(varchar,cd_EndTime,120)as cd_EndTime ,ra_id ,ra_Fullname ,CONVERT(float, case when cd_ringstarttime=0 then 0 else case when isnull(ucd_endtime,0)=0 then (cd_ringstarttime-cd_starttime) else (cd_ringstarttime-ucd_endtime) end end)*84600 as TF ,case when cd_cr_id=1 then (convert(float,cd_answertime-cd_ringstarttime)*24*60*60) else 0 end as TT ,case when (cd_cr_id=1 or cd_cr_id=6) then (convert(float,cd_endtime-cd_answertime)*24*60*60) else 0 end as TA ,CONVERT(float, case when isnull(cd_answertime,0)=0 then 0 else (case when isnull(ucd_endtime,0)=0 then (cd_answertime-cd_starttime) else (cd_answertime-ucd_endtime) end ) end)*84600 as TE ,convert(float, (cd_EndTime-cd_StartTime)- (case when isnull(ucd_endtime,0)=0 then 0 else (ucd_endtime-ucd_ringstarttime) end) )*84600 as tot, cq_qualification, cd_releasingDevice FROM tbl_CallData inner join tbl_ACDCallData on (cd_id = rcd_cd_id ) left join tbl_Agents on (ra_id = rcd_ra_id ) left join tbl_Campaigns on (tbl_ACDCallData.rcd_cpn_id = tbl_Campaigns.cpn_id ) left join tbl_callresult on (cr_id = cd_cr_id) left join tbl_UraCallData on (cd_id = ucd_cd_id) left join tbl_CallQualificationData on (rcd_cd_id = cqd_cd_id) left join tbl_CallQualifications on (cqd_cq_id = cq_id) WHERE cd_EndTime >= cd_StartTime AND (cd_EndTime - cd_StartTime) >= 0 AND cd_EndTime is not null and convert(float,cd_endtime-cd_starttime)*24*60*60 < 2*60*60 and cd_StartTime>='2010/11/26 00:00' and cd_StartTime<'2010/12/31 00:00' AND convert(varchar,cd_startTime,108)>'07:00' AND convert(varchar,cd_startTime,108)<'24:00' and (rcd_cpn_id = 1 or rcd_cpn_id = 2 or rcd_cpn_id = 3 or rcd_cpn_id = 4 or rcd_cpn_id = 5 or rcd_cpn_id = 6 or rcd_cpn_id = 7 ) and (0=1 or 1=1 ) ORDER BY cd_starttime ";

$db_result=mssql_query($query,$db);

$rows=mssql_num_rows($db_result);

for($i=0;$i<$rows;$i++)

echo "<br>".mssql_result($db_result,$i,1);

?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bem a M$ colocou um monte de impécilio nos bancos M$ SQL para não rodar com as bibliotecas nativas do PHP ...

Por issos sempre que tentar fazer qualquer coisa irá das erro sem choro nem vela ...

Ai pra contornar a situação e dar uma de boazinha, criou suas próprias bibliotecas e libs do MS SQL Serve especificas para PHP, ou seja para rodar o banco no PHP obrigatoriamente deve usar as libs da M$.

Aqui estão o novos drivers ... boa sorte:

V 2.0: http://www.microsoft.com/downloads/details...07-caae6cf2ca05

V 1.1: http://www.microsoft.com/downloads/details...4a-5052214caad9

Editado por SK15
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...