Mailinglisten-Archive |
Hallo Musa Am 07.04.2010 um 17:55 schrieb Musa: > der gleiche fehler/warnung wird auch bei variablen ausgegeben, die datum beinhalten. sollte ich anstelle von strlen() isset() verwenden oder kann man das problem irgendwie anderwertig lösen? denn manchmal habe ich auch variablen die einen datum oder zeichenkette beinhalten können oder aber auch leer sein können. deswegen nutze ich strlen(). strlen() ist richtig für strings, PèHP wird dir auch Zahlenwerte als string behandeln, nicht aber Verweise auf Datenbankverbindungen! Wenn du nur wissen willst, ob eine Variable existiert, ist isset() richtig, im Falle von mysql_connect genügt ein einfaches if(), denn entweder wird ein Verweis auf eine Verbindung zurückgegeben oder false, nie jedoch ein string. Manchmal ist es wichtig zu wissen, ob eine Variable numerisch 0, NULL, FALSE, leerer string enthält oder gar nicht gesetzt ist. PHP wird zB bei if() viele Fälle gleich behandeln (nämlich als false). Es ist aber auch möglich mit is_numeric(), isset(), is_null(), empty() oder mit === bzw. !== das differenziert zu behandeln. Auch wenn PHP relativ gutmütig ist bezüglich Mix von Datentypen, empfiehlt es sich, immer möglichst typengerecht zu prüfen, resourcen also mit isset() oder zB mit if(!$resource), wie du das weiter oben im Code machst. Ein guter Überblick über die verschiedenen Prüfungen kannst du hier finden: http://de.php.net/manual/de/types.comparisons.php Hoffe, das hilft. Gruß, Hans
php::bar PHP Wiki - Listenarchive