Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql retornando conjunto vazio


Aqui está o que você faz como um primeiro passo. Remova o WHERE url = '$url' da sua consulta e imprima mysql_num_rows($exists) antes de usá-lo.

Isso deve ser suficiente para dizer se é um dos dois problemas mais prováveis:
  • URL incorreto resultando em nenhuma linha sendo retornada; ou
  • linha incorreta causada por banco de dados contendo algo diferente do esperado.

Com base em seus comentários até o momento, o primeiro é o mais provável. Se você receber uma linha de volta sem o where cláusula, você terá que descobrir por que seu URL está incorreto. Isso pode ser um problema de distinção entre maiúsculas e minúsculas ou um problema de preenchimento (tamanho), entre outras coisas.

Se, como você mencionou em um comentário, like funciona onde = não, então precisamos ver seus dados.

Execute (no nível do banco de dados):
select concat('[',url,']') from sites

e nos mostre exatamente qual é a saída. Da mesma forma, produza a URL que está sendo usada pelo código com algo como:
print_r($url)

imediatamente antes de executar o mysql_query .

Por favor, anexe a saída de ambos os comandos à sua pergunta.