phpbar.de logo

Mailinglisten-Archive

[php] strlen() fehler - code und var_dump

[php] strlen() fehler - code und var_dump

Taibuca taibuca at googlemail.com
Mi Apr 7 18:28:30 CEST 2010


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