Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gotaum

[Resolvido] String de SQL

Recommended Posts

Galera, ta difícil!!!!

 

eu tô usando php e mysql, mas a string ou retorna erro ou retorna o select sem o where.

 

preciso de ajuda, $table e $nome são variáveis de texto, enviadas por get, tá tudo certinho, mas a cláusula where não ta funcionando, ou seja, o código ta retornando todas as tabelas.....

 

Valeu pra geral!

 

$sql = 'SELECT * FROM `' . $table . '` WHERE `nome_peca` LIKE CONVERT(_utf8 \'%' . $nome . '%\' USING latin1) COLLATE latin1_swedish_ci';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, ta difícil!!!!

 

eu tô usando php e mysql, mas a string ou retorna erro ou retorna o select sem o where.

 

preciso de ajuda, $table e $nome são variáveis de texto, enviadas por get, tá tudo certinho, mas a cláusula where não ta funcionando, ou seja, o código ta retornando todas as tabelas.....

 

Valeu pra geral!

 

$sql = 'SELECT * FROM `' . $table . '` WHERE `nome_peca` LIKE CONVERT(_utf8 \'%' . $nome . '%\' USING latin1) COLLATE latin1_swedish_ci';

posta o codigo completo para que eu possa entender melhor sua duvida

Compartilhar este post


Link para o post
Compartilhar em outros sites

$table = tabela
$nome = $_GET['peca'];

$sql = 'SELECT * FROM `' . $table . '` WHERE `nome_peca` LIKE CONVERT(_utf8 \'%' . $nome . '%\' USING latin1) COLLATE latin1_swedish_ci';

cara é só problema com essa string mesmo...

 

na hora que executa esse select no banco de dados, ele seleciona todo o banco e ignora a cláusula where, eu não sei muito de php, mas o resto tá tudo funcionando, inclusive ele retorna o resultado na página, mas eu repito, ele ignora essa parte aqui:

 

WHERE `nome_peca` LIKE CONVERT(_utf8 \'%' . $nome . '%\' USING latin1) COLLATE latin1_swedish_ci'

 

esse é o problema, nem todo mundo pode ver todas as pecas, por isso eu faço o select com o where... entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa mesmo destes comandos? Um LIKE simples nao resolveria nao?

$sql = 'SELECT * FROM '.$table.' WHERE nome_peca LIKE '%'.$nome.'%''; //2 ASPAS SIMPLES NO FINAL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa mesmo destes comandos? Um LIKE simples nao resolveria nao?

$sql = 'SELECT * FROM '.$table.' WHERE nome_peca LIKE '%'.$nome.'%''; //2 ASPAS SIMPLES NO FINAL

Cara num funcionou não... dessa vez ele ta dando erro.... eu copiei e colei o q você colocou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe nao tenho muito costume com aspas simples, corrigindo:

$sql = 'SELECT * FROM '.$table.' WHERE nome_peca LIKE \'%'.$nome.'%\''; //2 ASPAS SIMPLES NO FINAL
boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... Faça assim

 

$sql = 'SELECT * FROM `' . $table . '` WHERE `nome_peca` LIKE CONVERT(_utf8 \'%' . $nome . '%\' USING latin1) COLLATE latin1_swedish_ci';
echo $sql;
$qry = mysql_query($sql) or die(mysql_error());

Poste o que imprime. Tem que imprimir a query.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera!!!

 

Ainda não resolvel!!!!!

 

tá realmente difícil, o problema é que eu mostro a resposta em um arquivo flash (swf)...

 

e eu tenho tentado de várias formas e nenhuma tá resolvendo!!!!

 

já verifiquei se as variáveis estão sendo preenchidas e tá tudo certo, essa porcaria se sintaxe do sql que tá devovelndo só o select sem a cláusula where....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa é a resposta quando eu imprimo na tela:

 

SELECT * FROM `guestbook` WHERE `nome_peca` LIKE CONVERT(_utf8 '%%' USING latin1) COLLATE latin1_swedish_ci

 

minha variável é pega por essa url:

 

escreve.php?action=read&r=518&NumLow=0&peca=maxpel folder institucional

 

Aonde nome_peca é:

 

$nome = $_GET['peca'];

 

que deveria concluir o where:

 

$sql = 'SELECT * FROM `' . $table . '` WHERE `nome_peca` LIKE CONVERT(_utf8 \'%' . $nome . '%\' USING latin1) COLLATE latin1_swedish_ci';

 

acho que isso deve ajudar...

 

se vcs repararem onde deveria ter a uma variável como o valor eu tenho vazio... (_utf8 '%%' USING latin1)

 

Bom esse era o meu problema... eu resolvi trocando o nome da variável....

 

PODE FECHAR O TÓPICO....

 

E MUITO OBRIGADO A TODOS....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.