Ir para conteúdo

POWERED BY:

Arquivado

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

Chateau

[Resolvido] Buscas SQL online não funcionam

Recommended Posts

Olá pessoal!!! Fiz uma tela pra digitar comandos SQL e mandar executar, pra poder facilitar a manutenção das minhas tabelas do bano mysql no meu site, que está em desenvolvimento. Estou usando do DW CS3, meu mysql é 5.0.5.1a e o PHP 5.2.5 isso tudo local... No meu site as versões do mysql e php são as mesmas. Quando eu faço as consultas SQL localmente, funcionam todas perfeitamente, busca por campo núméricos, por campos string ou datas, tudo perfeito. Mas quando eu mando fazer as buscas online, só funcionam as buscas nos campos numéricos... não funciona nenhuma mas buscas em campos string ou com datas ex.:

 

select * from tabela ---> funciona normalmente local e online

select * from tabela where codigo = 1 ----> campo numérico, funciona legal local e online

select * from tablela nome = 'Maria' ------> campo string, funciona legal local, online não funciona

select * from tabela nome like 'Maria%' --> campo string, funciona logal local, online não funciona

select * from tabela data = '2008-05-01' --> campo de data, funciona legal local, online não funciona

 

já troquei as aspas simples por duplas e nada... os dados procurados existem no banco online!

Será que existe alguma outra forma de indicar os valores string, outro caracter que possa ser utilizado no lugar das aspas?

 

Grato a todos!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está trabalhando com variáveis ?

 

Algumas consultas uso variáveis

select * from anuncios where dtexp < '"+HOJE+"' order by codigo

 

outras não

select * from anuncios where bloq = 'S' order by codigo

 

mas se for busca por strings, n funcionam online, mas sempre funciona local.

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mais essas variáveis são com base em JS ?

 

As variáveis são em JS. Mas mesmo sem usar variáveis tb n funcionam as consultas com strings. Dá uma olhada no link e veja o pro. você pode escrever comandos SQL e mandar executar, ou utilizar os botões com comandos já prontos. Alguns botões n tem nada ainda.

 

http://www.classicplusnet.890m.com/config.php

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

esses dados que você quer retornar da consulta, existem no banco de dados do servidor???

Como eu já havia dito no início do tópico, os dados existem no BD online.

Faça a consulta "select * from anuncios where codigo < 20". Os dados iram aparecer, o campos codigo é um campo numérico... Alguns dos dados q apareceram, tem a cidade = Panamirim... Faça a consulta "select * from anuncios where cidade = 'Panamirim'"... Nenhum registro é retornado.

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se sua estrutura não form muito grande, se for coloque nas tags CODEBOX, cole aqui a parte da busca e dos links pra eu da uma olhada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se sua estrutura não form muito grande, se for coloque nas tags CODEBOX, cole aqui a parte da busca e dos links pra eu da uma olhada.

Descobri qual é o problema, mas não sei como resolver. Todos os camandos sql eu passo como parâmetro para a própria página e recebo desta forma: $csql = isset($_POST["csql"]) ? trim($_POST["csql"]) : FALSE;. O q tá acontecendo é que tudo o q tá entre aspas, duplas ou simples no comando sql, aparece da seguinte forma:

 

eu passo: select * from tabela where nome = 'Maria'

 

a variável $csql fica assim: select * from tabela where nome = \'Maria\'

 

Então, sempre q tem algo entras aspas fica com as barras \. Como faço pra resolver? Já tentei usar a função str_replace pra retirar as barras, mas n dá certo.

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se sua estrutura não form muito grande, se for coloque nas tags CODEBOX, cole aqui a parte da busca e dos links pra eu da uma olhada.

Descobri qual é o problema, mas não sei como resolver. Todos os camandos sql eu passo como parâmetro para a própria página e recebo desta forma: $csql = isset($_POST["csql"]) ? trim($_POST["csql"]) : FALSE;. O q tá acontecendo é que tudo o q tá entre aspas, duplas ou simples no comando sql, aparece da seguinte forma:

 

eu passo: select * from tabela where nome = 'Maria'

 

a variável $csql fica assim: select * from tabela where nome = \'Maria\'

 

Então, sempre q tem algo entras aspas fica com as barras \. Como faço pra resolver? Já tentei usar a função str_replace pra retirar as barras, mas n dá certo.

 

Grato

 

Galera, consegui resolver. Usei o str_replace pra substituir \' por ' , deu certinho!! Obrigado pela ajuda!!

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.