Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
seguinte, estou tentando fazer a seguinte consulta no php
//busca o codigo do produto
$queryCodProduto = mysql_query("SELECT codProduto FROM tb_produtos WHERE BINARY categoriaSub='$categoriaSub'",$conexao) or die (mysql_error());
$codInfo = mysql_fetch_array($queryCodProduto);
$codProdutoBd = $codInfo['codProduto'];
//atribui a variavel $codProduto o valor encontrado no BD
$codProduto = $codProdutoBd;
echo "COD: " .$codProduto;
so que nunca aparece o codigo, ai la no phpMyAdmin quando eu faço a mesma consulta da a mensagem falando que o mysql retornou um conjunto vazio de registros.
o mysql_error() nao retorna erro nenhum e se eu trocar o where categoriaSub ... por codProduto,imagem1 ou id ele faz a consulta.
ai voces pensam: se com o id a consulta funciona por que voce nao usa o id em vez do categoriaSub?
R: Por que a categoriaSub é listada em um select ai se o usuario escolher por exemplo Livros eu tenho que pegar o codigo de livros, ai colocar os IDs no select nao da muito certo.
toda ajuda é bem vinda, fwls
Faça o teste:
$queryCodProduto = mysql_query("SELECT `codProduto` FROM `tb_produtos` WHERE BINARY `categoriaSub` = '". $categoriaSub ."'", $conexao) or trigger_error(mysql_error());
echo $queryCodProduto; exit;
Ele irá imprimir a consulta gerada (copie a consulta aqui) depois execute-a no phpMyAdmin para testar.nao saiu a query nao, deu isso: Resource id #22
Opa.. Erro meu:
$queryCodProduto = "SELECT `codProduto` FROM `tb_produtos` WHERE BINARY `categoriaSub` = '". $categoriaSub ."'";
echo $queryCodProduto; exit;aparentemente esta certo, o binary eu tirei por que nao era necessario mas independente nao funcionava
a query: SELECT codProduto FROM tb_produtos WHERE categoriaSub = 'Sony Ericsson'
eu joquei no phpMyAdmin e continua retornando um conjunto vazio
flws
Ou seja... Não há registros que cumpram essa consulta.. Tá certo.
>
Ou seja... Não há registros que cumpram essa consulta.. Tá certo.
Errado.
1° - Eu vejo esses dados no phpMyadmin, la tem pelo menos 1 linha onde a categoriaSub é Sony Ericsson.
2° - O valor que vai no WHERE categoriaSub='$categoriaSub' vem de um select da pagina anterior e esse select é preenchido com as subcategorias do bd.
Minha conclusao: Os dados existem, mas tao com pirraça de nao aparecer.
uma coisa que eu lembrei agora nao sei se tem aver é que os dados vieram de um arquivo txt
>
aparentemente esta certo, o binary eu tirei por que nao era necessario mas independente nao funcionava
a query: SELECT codProduto FROM tb_produtos WHERE categoriaSub = 'Sony Ericsson'
eu joquei no phpMyAdmin e continua retornando um conjunto vazio
flws
retorna vazio ou retorna erro? são coisas diferentes.
para ajudar, tire esses ` da consulta e deixe apenas o ' depois do =
Veja se funciona assim.
NOTICIA DE ULTIMA HORA !!!!!!!!
retorna vazio mesmo nao da erro.agora eu fiz mais um teste e acho que descobri, eu falei no post anterior que os dados vinham de um arquivo txt.
Pois bem, eu tenho uma area onde eu possa adicionar um produto, eu fui la agora e adicionei um produto em uma categoria e subcategoria(subTeste) nova, a partir dai a subcategoria aparece no select eu selecionando a nova(subTeste) entao onde nao aparecia nada aperece o codigo normalmente funciona do jeito que eu quero. E se eu colocar no phpMyAdmin tambem funciona sem erro.
Agora como eu posso resolver isso.
"WHERE BINARY" ?
Cole a estrutura da tabela para análise