Ich habe eine PHP Varibale
$staat=12;Nun möchte ich diese in einer SELECT Abfrage abfragen, wenn Sie Vorhanden, also grösser als 0 ist.
SELECT * FROM table WHERE (IF '$staat'>0 THEN staat='$staat')
doch irgendwas mache ich da falsch?
Gemessen an deiner Beschreibung ist dir nicht so ganz klar, was du wirklich möchtest.
Vorneweg: Dass eine Variable vorhanden ist und der Umstand, dass ihr Wert größer als Null ist, sind zwei völlig unterschiedliche Paar Schuhe. Eine Variable ist auch vorhanden, wenn ihr Wert gleich Null oder kleiner Null ist. Sie kann, je nach Definition, sogar vorhanden sein, wenn sie gar keinen Wert hat.
Deinem SQL-Befehl verstehe ich nicht wirklich. Möchtest du alle Zeilen auslesen, deren Spalte staat dem Wert der PHP-Variablen $staat entspricht, vorausgesetzt, $staat ist größer als Null? Dann:
if ($staat > 0) {
machsql("SELECT * FROM table WHERE staat='$staat');
}
Du brauchst nicht zum Bäcker zu fahren, wenn du eh keine Brötchen haben möchtest. Genauso brauchst du nicht die Datenbank bemühen, wenn du eh nichts haben willst, weil $staat kleiner oder gleich Null ist.
(Davon unabhängig möchtest du dich informieren, wie Variablen in SQL eingebettet werden. So, wie du und ich das da oben gemacht haben, ist das eigentlich bäh!.)