Hemiunu: MYSQL prüfen ob Eintrag vorhanden!?

Hallo,

ich habe eine Frage, und zwar überlege ich wie ich eine Abfrage meiner MYSQL Datenbank mit PHP möglichst geschickt löse.

Ich möchte in einer Funktion prüfen ob zwei Werte in der MYSQL Datenbank vorhanden sind. Als Beispiel in der Tabelle "Test" Wert1= 234242, und Wert2=lkjd83
Wenn das der Fall ist dann soll ein true zurück geliefert werden.

Ich denke die Select Abfrage ist nicht die richtige Wahl dafür, oder sehe ich das falsch?

Also SELECT * FROM Test WHERE wert1=234242 AND wert2=lkjd83 dann Counte ich das Ergebnis und sofern es größer 0 ist sendet die Funktion true, aber das kann doch nicht die richtige Lösung sein oder?

Danke

Hemiunu

  1. Also SELECT * FROM Test WHERE wert1=234242 AND wert2=lkjd83 dann Counte ich das Ergebnis und sofern es größer 0 ist sendet die Funktion true, aber das kann doch nicht die richtige Lösung sein oder?

    MySQL kennt bereits eine COUNT()-Funktion, es ist nicht notwendig einen vollständigen, ggf. komplzierten und umfangreichen, Datensatz zu holen, wenn du eigentlich nur 0 oder 1 brauchst.

  2. Hello,

    ich habe eine Frage, und zwar überlege ich wie ich eine Abfrage meiner MYSQL Datenbank mit PHP möglichst geschickt löse.

    Ich möchte in einer Funktion prüfen ob zwei Werte in der MYSQL Datenbank vorhanden sind. Als Beispiel in der Tabelle "Test" Wert1= 234242, und Wert2=lkjd83
    Wenn das der Fall ist dann soll ein true zurück geliefert werden.

    Ich denke die Select Abfrage ist nicht die richtige Wahl dafür, oder sehe ich das falsch?

    Es kommt vor allem darauf an, warum Du diese Information brauchst.
    Wenn Du sie Dir nämlich beschaffst, um zu verhindern, dass diese Kombination nochmals eingetragen wird, dann ist das der falsche Weg. Dann müsstest Du ein Constraint auf die jeweiligen Spalten legen, ggf. als eineindeutigen Kombinationsschlüssel oder auch zwei getrennte eineindeutige (Unique) Schlüssel (Indexe).

    Anderenfalls würdest Du dir nämlich ein TOCTOU-Problem bauen
    http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use

    Und im anderen Fall hat Dir suit schon den passenden Hinweis gegeben.
    https://forum.selfhtml.org/?t=198629&m=1334197
    http://dev.mysql.com/doc/refman/5.1/de/counting-rows.html

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de