Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql gibt leeren Satz zurück

Hier ist, was Sie als ersten Schritt tun. Entfernen Sie WHERE url = '$url' vollständig aus Ihrer Abfrage entfernen und mysql_num_rows($exists) ausgeben bevor Sie es verwenden.

Das sollte ausreichen, um festzustellen, ob es sich um eines der zwei wahrscheinlichsten Probleme handelt:

  • ungültige URL, die dazu führt, dass keine Zeilen zurückgegeben werden; oder
  • Fehlerhafte Zeile, verursacht durch Datenbank, die etwas anderes als erwartet enthält.

Basierend auf Ihren bisherigen Kommentaren ist ersteres am wahrscheinlichsten. Wenn sich herausstellt, dass Sie ohne eine Zeile zurückbekommen das where -Klausel müssen Sie herausfinden, warum Ihre URL falsch ist. Dies kann unter anderem ein Problem mit der Groß- und Kleinschreibung oder mit der Auffüllung (Größe) sein.

Wenn Sie, wie Sie in einem Kommentar erwähnen, like funktioniert wo = nicht, dann müssen wir Ihre Daten sehen.

Ausführen (auf DB-Ebene):

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

und zeigen Sie uns genau was die Ausgabe ist. Geben Sie auf ähnliche Weise die vom Code verwendete URL mit etwas wie:

aus
print_r($url)

unmittelbar vor der Ausführung von mysql_query .

Bitte hängen Sie die Ausgabe dieser beiden Befehle an Ihre Frage an.