phpbar.de logo

Mailinglisten-Archive

[php] strlen() fehler - code und var_dump

[php] strlen() fehler - code und var_dump

Musa BMusa at web.de
Mi Apr 7 17:55:24 CEST 2010


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