EnioWM 2 Denunciar post Postado Dezembro 15, 2011 Pessoal, sei que existem muitos tópicos relacionados ao título, mas não achei nenhum que me ajudasse a resolver o problema. Estou fazendo uma consulta sql no postgres e recebo os valores da tabela e para cada linha do resultado imprimo os dois valores das colunas 'nome' e 'imagem'. Até aqui sai os resultados tudo certo: $exec=pg_query($conn, $sql);/*executa a query*/ $num = 1; while ($row=pg_fetch_assoc($exec)){ $arq_nome=pg_escape_string($row['nome']); $arq_image=pg_escape_string($row['imagem']); if(isset($arq_nome) && isset($arq_image)){ echo "<BR>".$arq_nome." ".$arq_image."<BR>"; } $num++; } pg_close($conn);/*fecha a conexão*/ frente do apto 17541 sala 17542 sala 17543 Mas quando eu tento colocar outra consulta sql utilizando essa variavel 'nome' dá erro de Undefined index: $exec=pg_query($conn, $sql);/*executa a query*/ $num = 1; while ($row=pg_fetch_assoc($exec)){ $arq_nome=pg_escape_string($row['nome']); $arq_image=pg_escape_string($row['imagem']); if(isset($arq_nome) && isset($arq_image)){ echo "<BR>".$arq_nome." ".$arq_image."<BR>"; $sqla = "select imagem from imagens where nome = '".$arq_nome."'"; $exec = pg_query($conn, $sqla); /*executa a query*/ } $num++; } pg_close($conn);/*fecha a conexão*/ Notice: Undefined index: nome in C:\Arquivos de programas\PostgreSQL\EnterpriseDB-Apache\Php\apache\www\getPropertyPictures.php on line 22 E essa linha 22 eh justamente a linha: $arq_nome=pg_escape_string($row['nome']); Os isset() do if retornam true mas na consulta afirma Undexed index: nome. Porque quando está sem a consulta funciona e quando coloco a consulta dá esse erro? Já tentei de tudo e não consigo fazer funcionar. Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Dezembro 15, 2011 Não existe essa chave no array. veja se a sua consulta esta trazendo essa campo do banco de dados q ira vira uma chave. Compartilhar este post Link para o post Compartilhar em outros sites
EnioWM 2 Denunciar post Postado Dezembro 15, 2011 Existe sim, eh pq nao coloquei no codigo pra mostrar, agora ta completo: $sql="select nome,imagem from imagens where id_imoveis=100; $exec=pg_query($conn, $sql);/*executa a query*/ $num = 1; while ($row=pg_fetch_assoc($exec)){ $arq_nome=pg_escape_string($row['nome']); $arq_image=pg_escape_string($row['imagem']); if(isset($arq_nome) && isset($arq_image)){ echo "<BR>".$arq_nome." ".$arq_image."<BR>"; $sqla = "select imagem from imagens where nome = '".$arq_nome."'"; $exec = pg_query($conn, $sqla); /*executa a query*/ } $num++; } pg_close($conn);/*fecha a conexão*/ Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Dezembro 15, 2011 Não existe essa chave no array. veja se a sua consulta esta trazendo essa campo do banco de dados q ira vira uma chave. verifique o array... Compartilhar este post Link para o post Compartilhar em outros sites
EnioWM 2 Denunciar post Postado Dezembro 15, 2011 Deixa eu ver se explico direito: Quando rodo esse código abaixo sai os resultados tudo certo, como podem ver na Saída logo abaixo, ou seja, encontra as chaves 'nome' e 'imagem' no array: Código: $sql="select nome,imagem from imagens where id_imoveis=100"; $exec=pg_query($conn, $sql);/*executa a query*/ $num = 1; while ($row=pg_fetch_assoc($exec)){ $arq_nome=pg_escape_string($row['nome']); $arq_image=pg_escape_string($row['imagem']); if(isset($arq_nome) && isset($arq_image)){ echo "<BR>Nome:".$arq_nome." - Imagem:".$arq_image."<BR>"; } $num++; } pg_close($conn);/*fecha a conexão*/ Saída: Nome:frente do apto - Imagem:17541 Nome:sala - Imagem:17542 Nome:sala - Imaem:17543 Mas eh só eu adicionar outra consulta envolvendo uma das variáveis, no caso $arq_imagem que guarda a chave de 'imagem' que esta dando erro de Undefined index: Código: $sql="select nome,imagem from imagens where id_imoveis=100"; $exec=pg_query($conn, $sql);/*executa a query*/ $num = 1; while ($row=pg_fetch_assoc($exec)){ $arq_nome=pg_escape_string($row['nome']); $arq_image=pg_escape_string($row['imagem']); if(isset($arq_nome) && isset($arq_image)){ echo "<BR>".$arq_nome." ".$arq_image."<BR>"; $sqla = "select imagem from imagens where nome = '".$arq_nome."'"; $exec = pg_query($conn, $sqla); /*executa a query*/ } $num++; } pg_close($conn);/*fecha a conexão*/ Saída: Notice: Undefined index: nome in C:\Arquivos de programas\PostgreSQL\EnterpriseDB-Apache\Php\apache\www\getPropertyPictures.php on line 22 E essa linha 22 eh justamente a linha: $arq_nome=pg_escape_string($row['nome']); Se eu "comentar" a linha do metodo de consulta, no caso: //$exec = pg_query($conn, $sqla); mostra tudo certo. Mas se eu deixar pra executar, ou seja, não "comentar' dá o erro. Agora deu pra entender?? Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Dezembro 15, 2011 Troque isto $exec = pg_query($conn, $sqla); por isto $execA = pg_query($conn, $sqla); e execute o seu código novamente. Compartilhar este post Link para o post Compartilhar em outros sites
EnioWM 2 Denunciar post Postado Dezembro 15, 2011 Eita. Eh verdade. Erro meu. :nataltongue: Agora funcionou. \o/ . Compartilhar este post Link para o post Compartilhar em outros sites