tr374 0 Denunciar post Postado Outubro 5, 2006 Estou fazendo a consulta abaixo mas não consigo fazer o foreach.<?php $sql_lns = ' SELECT * FROM representantes WHERE estado = '.$estado.' ORDER BY estado'; $sql_lns_exe = pg_query($dbconn,$estado); for($nl=0;$nl<pg_num_rows($estado);$nl++){ echo $nl_cidade;}?> mas paresenta os seguintes erros:Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "SP" at character 1 in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 15Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 19Obrigado a quem puder me ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
CelloZero 0 Denunciar post Postado Outubro 5, 2006 isso é erro na query... a parte php está OK pra facilitar sua vida, faz assim, <?php$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';// aqui você vai ter sua query impressa na tela// assim você testa ela direto no banco pra ver qual o erro da query... e corrigirecho $sql_Ins; exit;$sql_lns_exe = pg_query($dbconn,$estado);for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $nl_cidade;}?> abraço! Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 5, 2006 Faz assim$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';$sql_lns_exe = pg_query($dbconn,$sql_Ins);for($nl=0;$nl<pg_num_rows($sql_Ins_exe);$nl++){echo pg_fetch_result($sql_Ins_exe, $nl, "NOME_DO_CAMPO")."<br/>";}?> Testa e post o resultadoAdailtonfiz exatamente como está acima é deu o erro abaixo:Notice: Undefined variable: sql_Ins in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16Warning: pg_query() [function.pg-query]: Query failed: in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16Notice: Undefined variable: sql_Ins_exe in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18 isso é erro na query... a parte php está OKpra facilitar sua vida, faz assim, <?php$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';// aqui você vai ter sua query impressa na tela// assim você testa ela direto no banco pra ver qual o erro da query... e corrigirecho $sql_Ins; exit;$sql_lns_exe = pg_query($dbconn,$estado);for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $nl_cidade;}?>abraço!Fiz examtente como acima e obtive o erro abaixo:Notice: Undefined variable: sql_Ins in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18a linha 18 é : echo $sql_Ins; exit;Obrigado, já sei que o problema é na sql, alguma sujestão?Estarei fazendo outros testes. Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Mello 3 Denunciar post Postado Outubro 5, 2006 Ele não encontra a variável, verifica se o I "i maiúsculo" em $sql_Ins não foi trocado por l "L minúsculo".[]sAnderson Mello isso é erro na query... a parte php está OKpra facilitar sua vida, faz assim, <?php$sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'ORDER BY estado';// aqui você vai ter sua query impressa na tela// assim você testa ela direto no banco pra ver qual o erro da query... e corrigirecho $sql_Ins; exit;$sql_lns_exe = pg_query($dbconn,$estado);for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $nl_cidade;}?>abraço!Fiz examtente como acima e obtive o erro abaixo:Notice: Undefined variable: sql_Ins in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18a linha 18 é : echo $sql_Ins; exit;Obrigado, já sei que o problema é na sql, alguma sujestão?Estarei fazendo outros testes. Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 5, 2006 $sql_lns_exe = pg_query($dbconn,$sql_Ins);Não é $sql_Ins, é $sql_lnsTesta que deve dar certo. Muda tudo que tiver $sql_Ins pra $sql_lns. Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 5, 2006 troquei, ficou assim: $sql_lns = 'SELECT *FROM representantesWHERE estado = '.$estado.'';echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die(pg_error($dbconn));echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $ln_cidade; ... mas ainda com alguns erros, já imprimiu a SQL e parece que não há coluna SP, mas, não há mesmo!, pois eu quero selecionar todos registros que tenha "SP" na coluna "estado": [erro] SELECT * FROM representantes WHERE estado = SP Warning: pg_query() [function.pg-query]: Query failed: ERROR: column "sp" does not exist in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16 Fatal error: Call to undefined function pg_error() in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16[/erro] Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 5, 2006 Tenta assim: SELECT * FROM representantes WHERE estado = "SP"; Fatal error: Call to undefined function pg_error() in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16Essa função pg_error() eu acho que não existe No final deve ficar assim: $sql_lns = "SELECT *FROM representantesWHERE estado = $estado";echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $ln_cidade; Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 5, 2006 .......... $sql_lns = "SELECT *FROM representantesWHERE estado = $estado";echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){echo $ln_cidade; Tentei conforme acima, mas continua como o erro abaixo, vejam que o erro fala que não existe a coluna "sp": SELECT * FROM representantes WHERE estado = SP Warning: pg_query() [function.pg-query]: Query failed: ERROR: column "sp" does not exist in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16 erro Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 5, 2006 Tenta WHERE estado = '$estado' então. Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 5, 2006 Tentei assim: $sql_lns = 'SELECT *FROM representantesWHERE estado = '$estado'';echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro"); até linha 15 está ok, pois imprimi o selec abaixo SELECT * FROM representantes WHERE estado = $estado mas continuou com erro: Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "$" at character 49 in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 16 erro Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 5, 2006 $sql_lns = "SELECT *FROM representantesWHERE estado = '$estado'";Começa com aspas duplas depois aspas simples. Ou então você pode colocar um \' pra indicar que não quer terminar. $sql_lns = 'SELECT *FROM representantesWHERE estado = \'$estado\''; No final de tudo sua busca tem que ficar assim: SELECT * FROM representantes WHERE estado = 'SP' Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 5, 2006 $sql_lns = 'SELECT *FROM representantesWHERE estado = \'$estado\'';echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){ SELECT * FROM representantes WHERE estado = '$estado' Resource id #8 Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18 depois tentei assim: $sql_lns = "SELECT *FROM representantesWHERE estado = '$estado'";echo $sql_lns;$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");echo $sql_pdt_exe;for($nl=0;$nl<pg_num_rows($estado);$nl++){ e deu o erro: SELECT * FROM representantes WHERE estado = 'SP' Resource id #8 Warning: pg_num_rows(): supplied argument is not a valid PostgreSQL result resource in /usr/local/Virtual_Domains/carmixcalotas.com.br/WWW/html/site_mapa.php on line 18 Esta última opção parece que o erro passou para linha 18 que é a do foreach Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 5, 2006 Tem que ser pg_num_rows($sql_pdt_exe), e não pg_num_rows($estado). Como ele vai contar as linhas de $estado sendo que $estado não é um resultado de query :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 6, 2006 Muito obrigado skimo-solar, já está funcinando! $sql_lns = "SELECT *FROM representantesWHERE estado = '$estado'";$sql_pdt_exe = pg_query($dbconn,$sql_lns) or die("erro");for($nl=0;$nl<pg_num_rows($sql_pdt_exe);$nl++){ Só mais uma coisa, como faço para imprimir os valores? tentei: // echo $cidade; // echo $nl_cidade; // echo $ln_cidade; echo $lncidade; mas nada funcionou.... Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 6, 2006 Dá uma olhada no pg_fetch_array ou no pg_fetch_row ;) Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 7, 2006 ok, valeu!!Vou olhar. Compartilhar este post Link para o post Compartilhar em outros sites
tr374 0 Denunciar post Postado Outubro 7, 2006 Consegui assim: <?php echo $arr["cidade"]; ?> Muito obrigado a todos pela ajudona. Alias, excelente esses site, já adicionei aos meus favoritos. Compartilhar este post Link para o post Compartilhar em outros sites