Moin!
include("./mainconfigs.php");
var_dump($MYSQL_HANDLE);
include("./content_load.php");
>
> mainconfigs.php:
> ~~~php
$MYSQL_SERVER = "127.0.0.1";
> $MYSQL_USER = "xxx";
> $MYSQL_PASSWORD = "xxx";
> $MYSQL_DATABASE = "obstruction";
> $MYSQL_HANDLE = mysql_connect($MYSQL_SERVER, $MYSQL_USER, $MYSQL_PASSWORD);
> if (!$MYSQL_HANDLE )
> die("MySQL-Handle ungültig");
> mysql_select_db($MYSQL_DATABASE, $MYSQL_HANDLE);
content_load.php:
function GetCounterGeneral()
{
$res = mysql_query("SELECT * FROMcounter
",$MYSQL_HANDLE);
return mysql_num_rows($res);
}
function GetCounterDaily()
{
$res = mysql_query("SELECT * FROMcounter
WHERETIMESTAMP
>=".mktime(0,0,0,date("n"),date("j"),date("Y")),$MYSQL_HANDLE);
return mysql_num_rows($res);
}
$SYSTEM_COUNTER_VALUE=GetCounterGeneral().'|'.GetCounterDaily();
Schon mal an den Scope der Variablen gedacht? Das, was du da programmiert hast, hat so, wie du es programmiert hast, noch nie funktioniert. Globale Variablen sind grundsätzlich uncool, so auch $MYSQL\_HANDLE, aber dass man sie in Funktionen nochmal explizit verfügbar machen muss, ist schon seit PHP 3 so.
Das tust du nicht.
Also verhielt sich mysql\_query vermutlich bisher so, als wäre kein zweiter Parameter angegeben gewesen. Dann wird automatisch die letzte von mysql\_connect() geöffnete Verbindung verwendet.
Jetzt aber könnte es sein, dass mysql\_query sich dran stört, dass der zweite Parameter keine ordentliche Ressource ist - ohne den Parameter würde immer noch die letzte von mysql\_connect hergestellte Verbindung genutzt.
> var\_dum($MYSQL\_HANDLE) gibt schon NULL aus, also direkt nach dem include(./mainconfigs.php) zu ende ist, ist $MYSQL\_HANDLE null
Dann schreibst du das Dumpen auch nochmal in die letzte Zeile der mainconfigs.php rein und vergleichst.
- Sven Rautenberg