Ir para conteúdo

POWERED BY:

Arquivado

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

mbb

Erro select Mysql e PDO

Recommended Posts

Pesosal estou com um problema no Mysql com PHP ele não esta aceitando o select com clausula like com a procura com palavras com acentuação olha o exemplo abaixo:

 

$db = new PDO('mysql:host=localhost; port=3306; dbname=dspbanco', 'root', '', array( PDO::ATTR_PERSISTENT => true));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);  

$stmt = $db->prepare("SELECT * FROM tab_lojas where id_estado = '26' and id_cidade = '5346' and bairro like '%Aclimação%';"); 
$stmt->execute() or die($db->errorInfo());
$result = $stmt->fetchAll();	

echo "<pre>";
print_r($result);

ele só funciona quando tiro a acentuação pq?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É provavel que seja o encoding do banco.

 

Seu banco e suas tabelas estão em latin1, em utf8, ou algum outro?

 

Execute a seguinte query e veja o resultado

SHOW VARIABLES LIKE '%character%'

 

Se teu banco estiver em latin execute a query:

SET CHARACTER SET 'latin1'

 

Se teu banco estiver em utf8 execute a query:

SET CHARACTER SET 'utf8'

 

Faça estes testes e o seu select usando uma ferramenta de banco (EMS ou MySQLFront) ou direto no DOS.

O SET CHARACTER apenas vai mudar a conexão que a ferramenta vai usar ao se conectar com o banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dog,

 

fiz os teste e rodei a querys conforme falou ...

 

Variable_name	Value
character_set_client	utf8
character_set_connection	utf8
character_set_database	latin1
character_set_filesystem	binary
character_set_results	utf8
character_set_server	latin1
character_set_system	utf8
character_sets_dir	c:\wamp\bin\mysql\mysql5.0.51b\share\charsets\

porem não rolou continua dando erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dog, vlw pela dica, eu Executei os testes no Mysql Query Browser porem não funcionou:

 

Variable_name Value

character_set_client utf8

character_set_connection utf8

character_set_database latin1

character_set_filesystem binary

character_set_results utf8

character_set_server latin1

character_set_system utf8

character_sets_dir c:\wamp\bin\mysql\mysql5.0.51b\share\charsets\

 

Mais alguma dica rsrs ?

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.