& MySQL: Prüfe ob Feld leer ist
SelfPHP
- php
Hallo,
wie kann man überprüfen, ob ein Feld in einer MySQL-DB leer ist oder nicht?
Euer
SelfPHP
Hallo,
wie kann man überprüfen, ob ein Feld in einer MySQL-DB leer ist oder nicht?
Euer
SelfPHP
Schlag mich, aber ich kenne den explizieten Namen nicht genau, aber Du kannst im Result prüfen ob ein angeforderter Wert leer ist oder nicht.
habs auf die schnelle gefunden:
if ( ($row=odbc_fetch_row($result))===false )
Das ganze jetzt für MySQL abändern.
Hi Baesler,
Schlag mich, aber ich kenne den explizieten Namen nicht genau, aber Du kannst im Result prüfen ob ein angeforderter Wert leer ist oder nicht.
habs auf die schnelle gefunden:
if ( ($row=odbc_fetch_row($result))===false )
Das ganze jetzt für MySQL abändern.
Kannst du mir das bitte ausführlicher schreibenm, denn ich versteh nur Bahnhof?
Gruß
SelfPHP
echo $begrüßung;
wie kann man überprüfen, ob ein Feld in einer MySQL-DB leer ist oder nicht?
Definiere "leer". Meinst du damit ein Datum von "0000-00-00 00:00:00" oder einen Leerstring "" oder ein Integerfeld mit 0 oder den Spezialwert NULL? Für die ersten Fälle vergleichst du einfach den Inhalt mit dem von dir als "leer" definierten Wert. Auf NULL kann man nur mit IS NULL bzw. IS NOT NULL prüfen, da normale Operationen (auch Vergleiche) immer NULL ergeben, wenn einer der beteiligten Werte NULL ist.
Auf PHP-Seite ist das im Prinzip genauso, nur dass hier ein NULL-Wert als null erscheint und mit is_null() überprüft werden muss. Ansonsten verfälscht PHPs eingebaute automatische Typumwandlung bei einigen Werten das Messergebnis.
echo "$verabschiedung $name";
Hi,
Definiere "leer". Meinst du damit ein Datum von "0000-00-00 00:00:00" oder einen Leerstring "" oder ein Integerfeld mit 0 oder den Spezialwert NULL?
Definition zu "leer" in meinem Fall: Leerstring "".
Für die ersten Fälle vergleichst du einfach den Inhalt mit dem von dir als "leer" definierten Wert.
Wie soll das gehen? Mein Script fragt dann nach einem Feld ohne Inhalt anhand von WHERE. Das geht doch gar nicht, denn ich habe keine Bedingung für WHERE, oder?
Gruß
SelfPHP
Moin SelfPHP,
Wie soll das gehen? Mein Script fragt dann nach einem Feld ohne Inhalt anhand von WHERE. Das geht doch gar nicht, denn ich habe keine Bedingung für WHERE, oder?
Du solltest Deine Frage bzw. Deine Zielsetzung präzisieren.
Möchtest Du eine Ergebismenge bei welcher ein bestimmtest oder mehrere Felder "leer" sind?
Die WHERE Klausel laute WHERE feld = '' (Felder leer)
oder
WHERE feld != ''
regds
Mike©
Moin SelfPHP,
Hallo,
wie kann man überprüfen, ob ein Feld in einer MySQL-DB leer ist oder nicht?
Möchtest Du das bereits in der WHERE Klausel prüfen, oder
erst im Ergebnis?
Für die WHERE Klausel das:
SELECT * FROM tbl_name WHERE key_col IS NULL; (Ist leer)
SELECT * FROM tbl_name WHERE key_col <=> NULL; (Ist nicht leer)
Und für das Ergebnis:
if ( $Mein_Feld != '' )
echo 'Ich bin nicht leer';
regds
Mike©
Hi,
Für die WHERE Klausel das:
SELECT * FROM tbl_name WHERE key_col IS NULL; (Ist leer)
Sorry, das habe ich Falsch formuliert. Es soll nicht überprüft werden ob feld leer ist, sondern ob es dieses Feld anhand eines WHERE gibt. Hatte gerade leer im Kopf, da ich eine Variable auf leer prüfen wollte.
Beispiel:
Es soll überprüft werden ob $id in irgend einem ID-Feld in der MySQL steht, wenn nicht soll false zurückgegeben werden.
$result = mysql_query("SELECT * FROM $tabelle WHERE id='$id'", $DP);
Gruß
SelfPHP
Moin SelfPHP,
Es soll überprüft werden ob $id in irgend einem ID-Feld in der MySQL steht, wenn nicht soll false zurückgegeben werden.
2 Möglichkeiten:
select count(id) as found from......
Wenn found == 0 dann kein Treffer
oder Du benutzt
mysql_num_rows
regds
Mike©
Hi,
mysql_num_rows
Ich habe jetzt das:
$result = mysql_query("SELECT * FROM $tabelle WHERE id='$id'", $DP);
$num_rows = mysql_num_rows($result);
if ($num_rows == "") {
return "error_1";
}
nur das geht sau sau lam. Was ist falsch?
Gruß
SelfPHP
Moin SelfPHP,
Ich habe jetzt das:
$result = mysql_query("SELECT * FROM $tabelle WHERE id='$id'", $DP);
$num_rows = mysql_num_rows($result);
if ($num_rows == "") {
return "error_1";
}nur das geht sau sau lam. Was ist falsch?
1. Was verstehst Du unter "sau lam"?
2. SELECT * ist daneben. Du möchtest nicht alle Felder selektieren
3. Dein Ergebnis ist kein String sondern eine Zahl
Da Du den Weg jetzt kennst, würde ich Dich bitten das SQL Handbuch zu bemühen.
regds
Mike©
Hi,
- Was verstehst Du unter "sau lam"?
- SELECT * ist daneben. Du möchtest nicht alle Felder selektieren
- Dein Ergebnis ist kein String sondern eine Zahl
So richtig?
$result = mysql_query("SELECT name FROM $tabelle WHERE name='$id'", $DP);
$num_rows = mysql_num_rows($result);
if ($num_rows == '') {
return "error_1";
}
Wenn ja, immer noch sau lam und es kommt fom FF:
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
Gruß
SelfPHP
Moin SelfPHP,
$result = mysql_query("SELECT name FROM $tabelle WHERE name='$id'", $DP);
$num_rows = mysql_num_rows($result);
if ($num_rows == '') {
return "error_1";
}
if ($num_rows == 0)
regds
Mike©
Hi,
if ($num_rows == 0)
Danke, klappt super.
Gruß
SelfPHP