sql >> Database >  >> RDS >> Mysql

mysql geeft lege set terug

Dit is wat je doet als eerste stap. Verwijder de WHERE url = '$url' uit uw zoekopdracht en print mysql_num_rows($exists) voordat u het gebruikt.

Dat zou genoeg moeten zijn om te zien of het een van de twee meest waarschijnlijke problemen is:

  • slechte URL waardoor er geen rijen worden geretourneerd; of
  • slechte rij veroorzaakt door database die anders bevat dan u verwacht.

Op basis van uw opmerkingen tot nu toe is het eerste het meest waarschijnlijk. Als blijkt dat je een rij terug krijgt zonder de where clausule, moet u uitzoeken waarom uw URL onjuist is. Dit kan onder andere een kwestie van hoofdlettergevoeligheid of een opvulling (grootte) zijn.

Als, zoals je vermeldt in een opmerking, like werkt waar = niet, dan hebben we uw gegevens nodig.

Uitvoeren (op DB-niveau):

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

en laat het ons exact zien wat de uitvoer is. Voer op dezelfde manier de URL uit die door de code wordt gebruikt met iets als:

print_r($url)

onmiddellijk voor het uitvoeren van de mysql_query .

Voeg de uitvoer van beide opdrachten toe aan uw vraag.



  1. Oracle sql-zelfstudie:Basis SQL-instructie

  2. Vermindert het introduceren van externe sleutels in MySQL de prestaties?

  3. Hoe krijg ik het huidige jaar met SQL op Oracle?

  4. Hoe in Java verbinding te maken als SYS met Oracle?