jganjos 0 Denunciar post Postado Agosto 17, 2017 Bom dia pessoal. Tenho um banco de dados com uma coluna CDS e CAT onde CDS é o cadastro do cliente e CAT a categoria. ID | CDS | CAT 01 | 01 | Excel Intermediário 02 | 01 | Excel Básico 03 | 01 | Word Intermediário 04 | 01 | Word Básico Estou trabalhando com url amigáveis e preciso retornar a categoria. No entanto, quando a url está meusite.com.br/excel-basico, o PHP retorna Excel Intermediário e não o Excel Básico. O script de busca é o seguinte: // BUSCA NAS CATEGORIAS $sub pega a categoria na url no caso (excel-basico) $src = "select * from post_categoria where cds like '$cds' and cat like _utf8 '%$sub%' COLLATE utf8_unicode_ci"; $sql = mysql_query($src); $num = mysql_num_rows($sql); $dat = mysql_fetch_array($sql); Tentei realizando a busca entre chaves '%{$sub}%' e obtive a mesma falha na busca. A busca está funcionando sem erros, a não ser pelo fato do PHP retornar o primeiro valor que encontra como Excel, ignorando as outras variáveis da pesquisa. Como consigo fazer para retornar o valor correto? Compartilhar este post Link para o post Compartilhar em outros sites
jganjos 0 Denunciar post Postado Agosto 17, 2017 Consegui resolver o problema. Bastava retirar o símbolo de percentual % e adicionar as chaves. O código ficou assim: " select * from post_categoria where cds like '$cds' and cat like _utf8 '{$sub}' COLLATE utf8_unicode_ci " Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Agosto 17, 2017 Nos próximos projetos, utilize a definição do SGBD diretamente como utf8_general_ci, inclusive a conexão. Vai evitar ter que fazer as alterações do collation nas queries. Compartilhar este post Link para o post Compartilhar em outros sites