mayhem 0 Denunciar post Postado Fevereiro 14, 2018 Boa tarde primeiramente, estou executando uma busca no meu banco para apresentar dados em div, a conexão funciona pois possui um include que uso para outras buscam que funcionam perfeitamente, vou colocar o código: $numero = $_POST{'numero'}; $ano = $_POST{'ano'}; $tipo = $_POST{'tipo'}; $row = ""; $strSQL ="SELECT p_a.n_p, p_a.t, p_a.i_s, S_S.d_s, S_S.i_s, S_T.d_t, S_T.I_T FROM p_a, S_S, S_T WHERE p_a.i_s = S_S.i_s AND p_a.i_t_p = S_T.i_t AND p_a.n_p LIKE ".$numero." AND p_a.n_a_p LIKE ".$ano." AND S_T.d_t LIKE ".$tipo." "; $rs = mysql_query($strSQL) or die(mysql_error()); while($row = mysql_fetch_array($rs)){ echo "<table><tr><td><strong>Número:" .$row['p_a.n_p']. "</strong</td></tr>"; echo "<tr><td><strong>Ano:" .$row['p_a.n_p']. "</strong</td></tr>"; echo "</table>"; $resource = mysql_query($strSQL) or die(mysql_error()); echo $strSQL; } no echo ele me retorna a código da consulta com os valores das variavéis retornados do fom HTML, mas n retorna nenhum dado do banco, se executo a mesma consulta diretamente no banco, ele gera a linha ao qual necessito corretamente, fiz algumas buscas para entender o que poderia estar ocorrendo mas realmente entrei em um beco sem saída, o que pode estar ocorrendo? Compartilhar este post Link para o post Compartilhar em outros sites
Jhess 46 Denunciar post Postado Fevereiro 14, 2018 Estrutura SQL: SELECT * FROM tabela WHERE coluna LIKE 'parametro'; Note que o parâmetro se encontra dentro de aspas simples, para representar valores. Compartilhar este post Link para o post Compartilhar em outros sites
mayhem 0 Denunciar post Postado Fevereiro 14, 2018 Desculpe, mas nesse caso, estou concatenando o valor de uma variável, o uso de aspas duplas n seria problema, ou estou errado? Compartilhar este post Link para o post Compartilhar em outros sites
wootzor 103 Denunciar post Postado Fevereiro 14, 2018 4 minutos atrás, mayhem disse: Desculpe, mas nesse caso, estou concatenando o valor de uma variável, o uso de aspas duplas n seria problema, ou estou errado? Depende do tipo de dados das tuas variáveis, mas como estás a usar o operador LIKE, provavelmente alguma (ou todas) das variáveis $numero, $ano e $tipo serão do tipo string e, se for esse o caso, tens de ter isso em consideração no corpo da consulta. Algo assim: $strSQL ="SELECT p_a.n_p, p_a.t, p_a.i_s, S_S.d_s, S_S.i_s, S_T.d_t, S_T.I_T FROM p_a, S_S, S_T WHERE p_a.i_s = S_S.i_s AND p_a.i_t_p = S_T.i_t AND p_a.n_p LIKE '".$numero."' AND p_a.n_a_p LIKE '".$ano."' AND S_T.d_t LIKE '".$tipo."' "; Isto irá traduzir-se em (...) AND S_T.d_t LIKE 'XPTO', que é a sintaxe correcta quando se trabalha com strings. Compartilhar este post Link para o post Compartilhar em outros sites
Jhess 46 Denunciar post Postado Fevereiro 14, 2018 1 minuto atrás, wootzor disse: Depende do tipo de dados das tuas variáveis, mas como estás a usar o operador LIKE, provavelmente alguma (ou todas) das variáveis $numero, $ano e $tipo serão do tipo string e, se for esse o caso, tens de ter isso em consideração no corpo da consulta. Algo assim: $strSQL ="SELECT p_a.n_p, p_a.t, p_a.i_s, S_S.d_s, S_S.i_s, S_T.d_t, S_T.I_T FROM p_a, S_S, S_T WHERE p_a.i_s = S_S.i_s AND p_a.i_t_p = S_T.i_t AND p_a.n_p LIKE '".$numero."' AND p_a.n_a_p LIKE '".$ano."' AND S_T.d_t LIKE '".$tipo."' "; Isto irá traduzir-se em (...) AND S_T.d_t LIKE 'XPTO', que é a sintaxe correcta quando se trabalha com strings. Correto. Compartilhar este post Link para o post Compartilhar em outros sites
mayhem 0 Denunciar post Postado Fevereiro 14, 2018 Essas variáveis são todas do tipo INT, inseri o aspas como citado, mas o resultado continua sendo a busca em si, deveria trocar a estrutura da tabela ou apenas usar o "=" para as consultas? Compartilhar este post Link para o post Compartilhar em outros sites
mayhem 0 Denunciar post Postado Fevereiro 14, 2018 dei um echo na variável $rs, me retorna resource id#30 Compartilhar este post Link para o post Compartilhar em outros sites
mayhem 0 Denunciar post Postado Fevereiro 14, 2018 Escrevi a busca novamente com as dicas acima, executou tudo correto, Obrigado Jesse&Francinete e wootzor pela imensa ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
Jhess 46 Denunciar post Postado Fevereiro 15, 2018 Boa! Compartilhar este post Link para o post Compartilhar em outros sites