Mailinglisten-Archive |
Hallo, Probier dein Script mal mit empty(), das würde das gleiche für dich sein wie strlen() und evtl. sogar ohne Fehler ;) Am 07.04.10 17:55 schrieb "Musa" unter <BMusa at web.de>: > hi, > > der code: > > ////////////////////////////////////////////////////////////////////////////// > ///////////////// > /// verbindung /// > ////////////////////////////////////////////////////////////////////////////// > ///////////////// > > function dbverbinden() { > global $db_vb_id; > $db_host = "localhost"; > $db_benutzer = "benutzername"; > $db_kennwort = "kennwort"; > $db_name = "datenbank"; > $db_vb_id = mysql_connect($db_host, $db_benutzer, $db_kennwort); > if (!$db_vb_id) { > $fehlermeldungen['datenbank']['verbindung'] = "fehler"; > } else { > $db_wahl = mysql_select_db($db_name, $db_vb_id); > if (!$db_wahl) { > $fehlermeldungen['datenbank']['dbwahl'] = "fehler"; > dbtrennen(); > } else { > dbcommit("aus"); > } > } > unset($db_host, $db_benutzer, $db_kennwort, $db_name); > } > > ////////////////////////////////////////////////////////////////////////////// > ///////////////// > /// verbindung trennen /// > ////////////////////////////////////////////////////////////////////////////// > ///////////////// > > function dbtrennen() { > global $db_vb_id; > if (strlen($db_vb_id) > 0) { > mysql_close($db_vb_id); > unset($db_vb_id); > } > } > > ////////////////////////////////////////////////////////////////////////////// > ///////////////// > /// commit steuerung /// > ////////////////////////////////////////////////////////////////////////////// > ///////////////// > > function dbcommit($commit) { > global $db_vb_id; > var_dump($db_vb_id); > if (strlen($db_vb_id) > 0) { > if ($commit == 'aus') { > mysql_query("SET AUTOCOMMIT = 0", $db_vb_id); > } else if ($commit == 'an') { > mysql_query("SET AUTOCOMMIT = 1", $db_vb_id); > } else if ($commit == 'ja') { > mysql_query("COMMIT", $db_vb_id); > } else if ($commit == 'nein') { > mysql_query("ROLLBACK", $db_vb_id); > } > } > } > > var_dump gibt folgendes aus: > > resource(14) of type (mysql link) > > beim laden der startseite werden alle drei funktionen ausgeführt, hier nochmal > alle meldungen: > > resource(14) of type (mysql link) > Warning: strlen() expects parameter 1 to be string, resource given in > X:\...\phpdatei.php on line XY > Warning: strlen() expects parameter 1 to be string, resource given in > X:\...\phpdatei.php on line XY > > 1. ausgabezeile -> var_dump aus der funktion "commit steuerung" > 2. ausgabezeile -> strlen() aus der funktion "commit steuerung" > 3. ausgabezeile -> strlen() aus der funktion "verbindung trennen" > > 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(). > > ich würde mich über eine lösung oder meinungen freuen. > > vielen dank. > > gruß > musa > > > ------------------------------------------------------------------------------ > -- > > >
php::bar PHP Wiki - Listenarchive