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

(Resolvido) Erro no recebimento de IN() em varchar


soloplayer

Pergunta

Olá amigos, estou com um problema no retorno do SQL, quando rodo ele localmente ele traz corretamente os dados do SQL abaixo

SELECT DISTINCT a.*, a.cotacao, c.razao, e.razao as fornecedor, a.fechamento, a.cgc_forn, 
   cad.razao as nomeforn, a.lancado
FROM cotacao a
LEFT JOIN cli_vend_fornec b ON
   a.cgc_forn=b.cgc_fornecedor and a.cliente_sg=b.cliente_sgs
LEFT JOIN cadastrao c ON
   a.cliente_sg=c.cliente_sgs
LEFT JOIN cadastrao d ON
   a.cgc_forn=d.cpfcnpj and d.tipo=2
LEFT JOIN cadastrao e ON
   b.cgc_fornecedor=e.cpfcnpj and e.tipo=3
LEFT JOIN cadastrao cad ON
   cad.cpfcnpj=a.cgc_forn
LEFT JOIN cotacao xd ON
   xd.cgc_forn in('$forn1Cgc')
LEFT OUTER JOIN cli_fornec cli_fornec on
   cad.cpfcnpj = cli_fornec.cgc_fornecedor
LEFT JOIN cli_fornec cli_fornecc on
   cli_fornecc.cgc_fornecedor=b.cgc_fornecedor
WHERE a.cliente_sg in($fornecex) and cad.codigo in(cad.codigo) and
   (a.lancado='N' or a.lancado='') and a.cgc_forn in('$forn1Cgc')
GROUP BY a.cgc_forn

------------------->>> xd.cgc_forn in('$forn1Cgc') neste trecho no servidor linux ele não entra nem com reza, fazendo com que não mostre nada, alguém sabe o que é? Abraço.

Editado por Denis Courcy
melhorar entendimento
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'soloplayer'!

Que tipo de dados é xd.cgc_forn e o que você está colocando em '$forn1Cgc'?

Dê um exemplo do como você está atribuindo dados a esta variável ('$forn1Cgc').

Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo, estou fazendo assim:

include_once("conecta.php");

mysql_select_db('cota',$conex);

$sql2= mysql_query("select cli_vf.cliente_sgs, cli_vf.cgc_fornecedor from cadastrao c inner join cli_vend_fornec cli_vf on

c.codigo=cli_vf.vendedor

where c.codigo=$codigo_cli ");

//SQL antigo Abaixo

//$sql2= mysql_query("select razao, cpfcnpj from cadastrao c inner join cli_fornec cli_f on c.codigo=cli_f.cliente where cli_f.cliente='$codigo_cli' ");

//$obj2 = mysql_fetch_object($sql2);

$obj2->clientesgs;

$obj2->cliente_sgs;

$obj2->cgc_fornecedor;

// Processo para tirar a ultima virgula

$resultado = "";

$resultado1 = "";

$x = 1;

$cont = mysql_num_rows($sql2);

while($obj2=mysql_fetch_array($sql2)) {

$resultado .= $obj2[0];

if($x!=$cont){$resultado .=',';}

$resultado1 .= $obj2[1];

if($x!=$cont){$resultado1 .=',';}

$x++;

}

$forn = $resultado;

$forn1Cgc = $resultado1;

Ai quando ele recebe o valor não sei o que acontece, tenho que percorrer este array para passar para a variavel, mas quando é mais que um ele retorna, mas quando chega no SQL que passei para a analise parece o no servidor que ele se encontra não da certo. Grato.

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

  • 0

Oi, 'soloplayer' !

Eu não sei nada de PHP.

Perguntei tipo de dados é o atributo xd.cgc_forn e o que você está colocando em '$forn1Cgc', solicitando, também um exemplo, pois sei que há casos de erros com o trato deste operador.

Informe, por favor, o tipo de dados em xd.cgc_forn integer, bigint, varchar, char, ou outro (neste caso qual o tipo)

Informe, também como você está passando o dado para dentro da variável '$forn1Cgc' se é desta forma ('00.000.000/0000-00', '11.111.111/1111-11', etc) ou se é assim ('00000000000000', '11111111111111', etc)

ou se é assim (00000000000000, 11111111111111, etc) ou se é de outra forma (e neste caso diga como).

Link para o comentário
Compartilhar em outros sites

  • 0

Olá rapaz, puts em cima, eu vi com outro amigo desenvolvedor e é justamente isso, o meu retorno esta correto, mas tenho que fazer uma Gambiarrator Design Patterns para pegar o valor do retorno que é este ('00.000.000/0000-00,00.000.000/0000-00') So que meu erro esta justamente ai mesmo, o meu amigo tambem chegou a este ponto, é errado fazer isso, o correto é ('00.000.000/0000-00' , '00.000.000/0000-00') com o aspas nos dois extromos, Amigão, muiiiiito obrigado pelo Help ae, valow mesmo. At. Kleber Gracia.

É errando que se aprende né heheheh. Abraço.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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