Chateau 0 Denunciar post Postado Julho 22, 2008 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
Alaerte Gabriel 662 Denunciar post Postado Julho 22, 2008 Você está trabalhando com variáveis ? Compartilhar este post Link para o post Compartilhar em outros sites
Chateau 0 Denunciar post Postado Julho 25, 2008 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
Alaerte Gabriel 662 Denunciar post Postado Julho 25, 2008 Sim, mais essas variáveis são com base em JS ? Compartilhar este post Link para o post Compartilhar em outros sites
Chateau 0 Denunciar post Postado Julho 26, 2008 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
cassiano óliver 1 Denunciar post Postado Julho 26, 2008 esses dados que você quer retornar da consulta, existem no banco de dados do servidor??? Compartilhar este post Link para o post Compartilhar em outros sites
Chateau 0 Denunciar post Postado Julho 26, 2008 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
Alaerte Gabriel 662 Denunciar post Postado Julho 26, 2008 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
Chateau 0 Denunciar post Postado Julho 27, 2008 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
Chateau 0 Denunciar post Postado Julho 27, 2008 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