djtuca2 0 Denunciar post Postado Junho 28, 2016 Olá,Estou começando a programar em PHP e peguei um codigo e adaptei para este abaixo, porém recebo a seguinte mensagem de erro; You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '%%' ORDER BY cadastro_id DESC' at line 5 Estou utilizando Banco de dados MysqlAbaixo segue o codigo ; <html> <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?a=buscar"> <select name="tabela" id="tabela"> <option value="cadastro_id">ID <option value="cadastro_telefone">CLI ID <option value="cadastro_relac">ID Relacionado <option value="cadastro_endereco">Logradouro <option value="cadastro_nome_cliente">Cliente <option value="cadastro_status">Status do Pedido <input type="text" name="palavra"/> <input type="submit" value="Buscar"/> </html> <?php $host = "localhost"; // Host do Mysql $user = ""; // Usuário do Mysql $pass = ""; // Senha do Mysql $banco = ""; // Nome do Banco no Mysql $palavra = $_POST['palavra']; $tabela = $_POST['tabela']; $con = mysql_connect($host,$user,$pass); $db = mysql_select_db($banco,$con); $qr = " SELECT cadastro.cadastro_relac, cadastro.cadastro_id, cadastro.cadastro_status, cadastro.cadastro_telefone, cadastro.cadastro_nome_cliente, cadastro.cadastro_endereco, cadastro.cadastro_cidade, historico.historico_descricao_status, updown.updown_id_anterior FROM cadastro INNER JOIN historico ON cadastro.cadastro_id = historico.cadastro_id INNER JOIN updown ON cadastro.cadastro_id = updown.cadastro_id WHERE cadastro.$tabela LIKE '%".$palavra."%' ORDER BY cadastro_id DESC" ; $sql = mysql_query($qr) or die(mysql_error()); $total = mysql_num_rows($sql) ; echo "<center><b>Sua Busca retornou '$total' resultado(s).</b></center>"; echo "<table border=1 cellspacing=0 cellpadding=1 bordercolor=#CFCFCF>"; echo "<tr> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID Ant.</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID Atual</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID Relac.</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Status</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID CLI</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Cliente</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Logradouro</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Cidade</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Status</font></b></td> <tr>"; while($r = mysql_fetch_array($sql)){ echo "<tr>"; echo " <td align=center><font size=1 face=Verdana>$r[updown_id_anterior]</font></td> <td align=center><font size=1 face=Verdana><a href=editar.php?g=$r[cadastro_id] target=_blank>$r[cadastro_id]</a></font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_relac]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_status]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_telefone]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_nome_cliente]</font></td> <td align=left><font size=1 face=Verdana>$r[cadastro_endereco]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_cidade]</font></td> <td align=center><font size=1 face=Verdana>$r[historico_descricao_status]</font></td> "; echo "</tr>"; } echo "</table>"; ?> Agradeço desde já as ajudas que virão. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 28, 2016 Aparentemente o problema está ai: WHERE cadastro.$tabela Troque isto por: WHERE cadastro.nome_da_coluna_que_vc_quer_consultar E veja se o erro some. Compartilhar este post Link para o post Compartilhar em outros sites
djtuca2 0 Denunciar post Postado Junho 28, 2016 Obrigado pela rapida resposta. a string $tabela representa os campos que estou pesquisando, estes são escolhidos de acordo com o form. Ja tentei colocar uma unica tabela e deu o mesmo erro. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 28, 2016 Troque: $qr = " SELECT cadastro.cadastro_relac, cadastro.cadastro_id, cadastro.cadastro_status, cadastro.cadastro_telefone, cadastro.cadastro_nome_cliente, cadastro.cadastro_endereco, cadastro.cadastro_cidade, historico.historico_descricao_status, updown.updown_id_anterior FROM cadastro INNER JOIN historico ON cadastro.cadastro_id = historico.cadastro_id INNER JOIN updown ON cadastro.cadastro_id = updown.cadastro_id WHERE cadastro.$tabela LIKE '%".$palavra."%' ORDER BY cadastro_id DESC" ; Por: $qr = "SELECT cadastro.cadastro_relac, cadastro.cadastro_id, cadastro.cadastro_status, cadastro.cadastro_telefone, cadastro.cadastro_nome_cliente, cadastro.cadastro_endereco, cadastro.cadastro_cidade, historico.historico_descricao_status, updown.updown_id_anterior FROM cadastro INNER JOIN historico ON cadastro.cadastro_id = historico.cadastro_id INNER JOIN updown ON cadastro.cadastro_id = updown.cadastro_id WHERE cadastro.$tabela LIKE '%$palavra%' ORDER BY cadastro_id DESC"; Dê um echo em $qr e coloque aqui o resultado. Compartilhar este post Link para o post Compartilhar em outros sites
djtuca2 0 Denunciar post Postado Junho 28, 2016 Fiz o seguinte; Peguei o codigo HTML que tem o form e criei uma nova pagina, em action direcionei para outra pagina e funcionou Quando os codigos estao na mesma pagina da esse erro. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 28, 2016 Eles estão dando erro porque na realidade você não está verificando se o formulário foi enviado.... <html> <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?a=buscar"> <select name="tabela" id="tabela"> <option value="cadastro_id">ID <option value="cadastro_telefone">CLI ID <option value="cadastro_relac">ID Relacionado <option value="cadastro_endereco">Logradouro <option value="cadastro_nome_cliente">Cliente <option value="cadastro_status">Status do Pedido <input type="text" name="palavra"/> <input type="submit" value="Buscar"/> </html> <?php if(sizeof($_POST) > '0'){ $host = "localhost"; // Host do Mysql $user = ""; // Usuário do Mysql $pass = ""; // Senha do Mysql $banco = ""; // Nome do Banco no Mysql $palavra = $_POST['palavra']; $tabela = $_POST['tabela']; $con = mysql_connect($host,$user,$pass); $db = mysql_select_db($banco,$con); $qr = " SELECT cadastro.cadastro_relac, cadastro.cadastro_id, cadastro.cadastro_status, cadastro.cadastro_telefone, cadastro.cadastro_nome_cliente, cadastro.cadastro_endereco, cadastro.cadastro_cidade, historico.historico_descricao_status, updown.updown_id_anterior FROM cadastro INNER JOIN historico ON cadastro.cadastro_id = historico.cadastro_id INNER JOIN updown ON cadastro.cadastro_id = updown.cadastro_id WHERE cadastro.$tabela LIKE '%".$palavra."%' ORDER BY cadastro_id DESC" ; $sql = mysql_query($qr) or die(mysql_error()); $total = mysql_num_rows($sql) ; echo "<center><b>Sua Busca retornou '$total' resultado(s).</b></center>"; echo "<table border=1 cellspacing=0 cellpadding=1 bordercolor=#CFCFCF>"; echo "<tr> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID Ant.</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID Atual</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID Relac.</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Status</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>ID CLI</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Cliente</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Logradouro</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Cidade</font></b></td> <td align=center bgcolor=#000080><b><font size=2 face=Arial color=white>Status</font></b></td> <tr>"; while($r = mysql_fetch_array($sql)){ echo "<tr>"; echo " <td align=center><font size=1 face=Verdana>$r[updown_id_anterior]</font></td> <td align=center><font size=1 face=Verdana><a href=editar.php?g=$r[cadastro_id] target=_blank>$r[cadastro_id]</a></font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_relac]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_status]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_telefone]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_nome_cliente]</font></td> <td align=left><font size=1 face=Verdana>$r[cadastro_endereco]</font></td> <td align=center><font size=1 face=Verdana>$r[cadastro_cidade]</font></td> <td align=center><font size=1 face=Verdana>$r[historico_descricao_status]</font></td> "; echo "</tr>"; } echo "</table>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
djtuca2 0 Denunciar post Postado Junho 28, 2016 Agradeço muito a sua ajuda. Me mande por MP sua conta paypal para que eu te envie algo por me ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Junho 28, 2016 Agradeço muito a sua ajuda. Me mande por MP sua conta paypal para que eu te envie algo por me ajudar. Não é necessário, toda ajuda aqui é voluntária Compartilhar este post Link para o post Compartilhar em outros sites
djtuca2 0 Denunciar post Postado Junho 28, 2016 Não é necessário, toda ajuda aqui é voluntária Faço questão neste caso. Compartilhar este post Link para o post Compartilhar em outros sites