Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql връща празен набор

Ето какво правите като първа стъпка. Премахнете WHERE url = '$url' от вашата заявка като цяло и разпечатайте mysql_num_rows($exists) преди да го използвате.

Това трябва да е достатъчно, за да разберете дали това е един от двата най-вероятни проблема:

  • лош URL, което води до липса на връщане на редове; или
  • лош ред, причинен от база данни, съдържаща различно от очакваното.

Въз основа на вашите коментари до момента, първото е най-вероятно. Ако се окаже, че получавате ред обратно без where клауза, ще трябва да разберете защо URL адресът ви е неправилен. Това може да е проблем с чувствителността на малки и малки букви или проблем с допълване (размер), наред с други неща.

Ако, както споменавате в коментар, like работи там, където = не, тогава трябва да видим вашите данни.

Изпълнете (на ниво DB):

select concat('[',url,']') from sites

и ни покажете точно какъв е изходът. По същия начин изведете URL адреса, използван от кода, с нещо като:

print_r($url)

непосредствено преди да изпълните mysql_query .

Моля, добавете изхода от двете команди към въпроса си.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете база данни с Liquibase

  2. Изявление на казус в MySQL

  3. MySQL 'Поръчай по' - правилно сортиране на букви и цифри

  4. Twitter bootstrap typeahead връща множество стойности и попълва полето за редактиране

  5. Каква е целта на IMPLICIT JOIN в sql?