Abfragen, ob DB-Feldname vorhanden ist
Kalle_B
- php
Hallöle,
MySQL- Tabellen haben in verschiedenen Projekten leider unterschiedliche Felder. Ich bin jetzt dabei, einige Programme projketneutral zu schreiben und muss die Feldnamen nach einem select abfragen, um dann beim update den richtigen Namen einsetzen zu können.
Die Abfrage if ( $row['zeit_neu'] ) zieht nicht, wenn das Feld zwar vorhanden, aber leer ist.
Mit var_dump( $row ) kann ich folgendes sehen:
...
[10]=>
string(1) "0"
["zeit_neu"]=>
string(1) "0"
...
Aber wie heisst die Abfrage dazu?
Lieben Gruß, Kalle
Die Abfrage if ( $row['zeit_neu'] ) zieht nicht, wenn das Feld zwar vorhanden, aber leer ist.
isset()
isset()
leider nicht. Die Variable ist in PHP nicht definiert, sondern nur Bestandteil eines assoziativen Arrays.
Ich erinnerte mich an eine ganz andere Anwendung, einen Key abzufragen, und dies hier geht:
for ( reset($row_usr); list($key, $val) = each($row_usr); )
{
if ( $key == 'zeit_neu' ) $feldname = 'zeit_neu';
if ( $key == 'last_login' ) $feldname = 'last_login';
}
Sieht aber umständlich aus. Geht es einfacher?
Kalle
echo $begrüßung;
isset()
leider nicht. Die Variable ist in PHP nicht definiert, sondern nur Bestandteil eines assoziativen Arrays.
isset() funktioniert mit jeder Art von Variable, kann also auch mit Arrayelemente à la $array['key'] verwendet werden. Ansonsten gibt es noch array_key_exists().
for ( reset($row_usr); list($key, $val) = each($row_usr); )
Sieht aber umständlich aus. Geht es einfacher?
foreach
echo "$verabschiedung $name";
Servus,
wenn du dir die Mühe gemacht hättest, die Array-Funktionen anzuschauen, hättest du array_key_exists() gefunden.
Gruss
Patrick