Problem mit undefinierter Variable

Sasser

Erfahrenes Mitglied
Hallo!

Ich fuehre die folgende Script aus und ich bekomme den Fehler: "PHP Notice: Undefine variable: db in /srv/www/vhosts/###DOMAIN###/httpdocs/files/updatestat.php on line 15"

Code ist:

PHP:
<?php
#!/usr/bin/php -q

function db_connect()
         {
         GLOBAL $db;
         $dbname = "";
         $dbhost = "";
         $dbuser = "";
         $dbpwd = "";
         $db = @mysql_connect($dbhost, $dbuser, $dbpwd);
         @mysql_select_db($dbname, $db) or die ("Keine Verbindung zur MySQL Datenbank");
         }

		db_connect($db);
			$time=time();
			$updatetime=$time-172800;
			$info=mysql_query("DELETE FROM exab WHERE zeit < $updatetime", $db);
		mysql_close($db);

?>

Was mache ich nur falsch? Kann das mit PHP_safemode zusammenhaengen?
 
Zuletzt bearbeitet:
PHP:
<?php 
#!/usr/bin/php -q 

function db_connect() 
         { 
         GLOBAL $db; 
         $dbname = ""; 
         $dbhost = ""; 
         $dbuser = ""; 
         $dbpwd = ""; 
         $db = @mysql_connect($dbhost, $dbuser, $dbpwd); 
         @mysql_select_db($dbname, $db) or die ("Keine Verbindung zur MySQL Datenbank"); 
         } 

        db_connect($db); //Welche Variable $db
//      $sql->db_connect();
            $time=time(); 
            $updatetime=$time-172800; 
            $info=mysql_query("DELETE FROM exab WHERE zeit < $updatetime", $db); 
//          $info=$sql->mysql_query("DELETE FROM exab WHERE zeit < $updatetime"); 
        mysql_close($db); 
//      $sql->mysql_close(); 
?>
Die auskommentierten Teile müssten klappen...
Habs aba nich getestet ^^

Die Variable existiert jedenfalls nciht an der Stelle, wo du sie in die sie in die Funktion setzen willst... Weil sie an der Stelle halt einfach undefiniert ist... Leer... Hat keinen Inhalt und existiert somit nicht...
 
Verstehe ich jetzt nicht so ganz...

Soll ich das jetzt hinzufuegen oder ersetzen? :confused:

Kann das nicht auch an dem PHP_safemode liegen? Weil vorher hats auch auf einem anderen Server get
 
Ach ich glaube ich gebs auf mit den beschissenen Cronjobs bei LINUX! Irgendwie bekommt man die nicht zum laufen! Bekomme jetzt son nen Error per Email:

PHP Notice: Undefined variable: sql in /srv/www/vhosts/###DOMAIN###/httpdocs/files/updatestat.php on line 15
PHP Fatal error: Call to a member function db_connect() on a non-object in /srv/www/vhosts/###DOMAIN###/httpdocs/files/updatestat.php on line 15bei

bei dem Code:

PHP:
<?php
#!/usr/bin/php5 -f

function db_connect()
         {
         GLOBAL $db;
         $dbname = "";
         $dbhost = "";
         $dbuser = "";
         $dbpwd = "";
         $db = @mysql_connect($dbhost, $dbuser, $dbpwd);
         @mysql_select_db($dbname, $db) or die ("Keine Verbindung zur MySQL Datenbank");
         }

                $sql->db_connect();
			$time=time();
			$updatetime=$time-172800;
			$info=$sql->mysql_query("DELETE FROM exab WHERE zeit < $updatetime");
		$sql->mysql_close();

?>

Es ist zum Kotzen! :mad:

Danke trotzdem
 
Hi,

Du hast ja auch kein Objekt $sql.

PHP:
<?php
#!/usr/bin/php -q

function db_connect()
         {
         GLOBAL $db;
         $dbname = "";
         $dbhost = "";
         $dbuser = "";
         $dbpwd = "";
         $db = @mysql_connect($dbhost, $dbuser, $dbpwd);
         @mysql_select_db($dbname, $db) or die ("Keine Verbindung zur MySQL Datenbank");
         }

/* Hier übergibst Du die Variable $db, die nicht definiert ist (und die die Funktion 
"db_connect" auch gar nicht erwartet). */
        db_connect($db);
            $time=time();
            $updatetime=$time-172800;
            $info=mysql_query("DELETE FROM exab WHERE zeit < $updatetime", $db);
        mysql_close($db);

?>

Das hat übrigens nichts mit Safe Mode zu tun, sondern mit unterschiedlichen Einstellungen von error_reporting.

LG
 
Hilfst du mir bitte, das umzubauen? Ich verstehe irgendwie nix mehr... Stehe total auf dem Schlauch! :confused:
 
Zurück