Prüfen ob eine SQL SELECT-Abfrage einen Inhalt zurückgibt?

Suboptimierer  17.05.2023, 15:16

Wie verarbeitest du denn das Ergebnis?

Bohne47 
Fragesteller
 17.05.2023, 22:44

Mit einer while Schleife. Aber die Idee von ZaoDaDong finde ich gut. Da bin ich jetzt gar nicht drauf gekommen.

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du kannst das z.B. vorab mit einem solchen select prüfen:

SELECT count(*) FROM `TABELLE` WHERE `ID`=1234

und dann erst den tatsächlichen select durchführen, wenn das Ergebnis (was es hier immer gibt) = 1 ist.

In den meisten Programmiersprachen durchläufst du das Resultset in einer Schleife. Das Ende wird mit einem EOF-Flag gekennzeichnet.

Du könntest auch mit einem Count eine Vorselektierung durchführen.

Wenn du in einer Stored Procedure damit weiterarbeitest, kannst du dich an Beispielen aus dem Internet orientieren: https://stackoverflow.com/questions/11852782/t-sql-loop-over-query-results

Woher ich das weiß:Berufserfahrung – Programmierer

Wenn die Anfrage keinen sonstigen Errors hatte, dann

if (mysql_num_rows($result)==0) { 
    //kein Ergebniss
}