ID: 30630
Updated by: [EMAIL PROTECTED]
Reported By: boccara at netvision dot net dot il
-Status: Open
+Status: Feedback
Bug Type: Reproducible crash
Operating System: win 2K / apache 2.0.49
PHP Version: 4.3.9
New Comment:
Remove all the zend extensions from your configuration, and try again.
Only disabling them is not good enough!
Previous Comments:
------------------------------------------------------------------------
[2004-10-31 21:45:26] boccara at netvision dot net dot il
function endl()
{
echo "<br>";
}
------------------------------------------------------------------------
[2004-10-31 21:23:23] boccara at netvision dot net dot il
the line 2018 in the fatal error is:
$SousTotal->AddDevis('gagne',$RefEditeur,$Gagne);
------------------------------------------------------------------------
[2004-10-31 21:20:10] boccara at netvision dot net dot il
dbfetch us an function created to choose a fetch according to the
database.
in our case it is MSSQL.
this function works already since 4 years.
Function dbFetch ($iResult, &$tabColonne) {
$iNbCol = 0; // Permet de recuperer une erreur ou le nombre de
colonnes
$tabColonne = array();
switch (SGBD) {
case "ODBC":
$iNbCol = odbc_fetch_into($iResult, &$tabColonne);
break;
case "MSQL":
$tabColonne = mysql_fetch_row($iResult);
if($tabColonne) $iNbCol = count($tabColonne);
break;
case "MSSQL":
$tabColonne = mssql_fetch_array($iResult);
if($tabColonne)
{
$iNbCol = count($tabColonne);
}
break;
}
return $iNbCol;
}
------------------------------------------------------------------------
[2004-10-31 19:04:31] boccara at netvision dot net dot il
Zend Studio Server 3.5.0
Zend Server Center 3.5.0
Zend Engine 1.3.0
PHP 4.3.9
Zend Optimizer 2.5.5
Zend Debugger 3.5.2
Zend Extension Manager 1.0.4
I also made a test with the Zend Optimiser on OFF and no change
difference , still the fatal error .....
------------------------------------------------------------------------
[2004-10-31 18:22:50] boccara at netvision dot net dot il
Description:
------------
Hello I have a defined a class that manage a 2 dimensions array
(table).
I have created 2 oblect of this class.
These oblect are inside a loop , a fetch from an sql query (MSSQL).
The oblects received data from the query.
Teh problem is that after a certain number of times in the loop (
always the same number of times depending to the query), I got an error
message:
Call to a member function on a non-object
when are called the function of the created object.
This is very strange, the created object seems to be deleted !!
I use Zend Studio, I use the debugger to search the bug, but there is
no syntax bug or anything else !?
Reproduce code:
---------------
class TotDevisParEditeur
{
var $VecEditeur = array();
var $value = array();
function GetValue($type,$editeur)
{
return $this->VecEditeur[$editeur][$type];
}
function Display($type,$editeur)
{
echo $this->VecEditeur[$editeur][$type];
endl();
}
function AddDevis($type,$editeur,$numOfdevis)
{
$value[$type] = $this->GetValue($type,$editeur) + $numOfdevis;
$this->VecEditeur[$editeur] = $value;
$this->Display($type,$editeur);
}
}
/////////////////////////////////////////////////////////
$SousTotal = new TotDevisParEditeur;
$SousTotalCom = array();
$SousTotalCom['gagne'] = new TotDevisParEditeur;
$SousTotalCom['perdu'] = new TotDevisParEditeur;
$SousTotalCom['encours'] = new TotDevisParEditeur;
while (dbFetch($iTableTmp, $Col))
{
/*
in this portion of code there is no redefinition of the object !!
just value are assigned to $RefEditeur, $Gagne,...
*/
$SousTotal->AddDevis('gagne',$RefEditeur,$Gagne);
$SousTotal->AddDevis('perdu',$RefEditeur,$Perdu);
$SousTotal->AddDevis('encours',$RefEditeur,$Encours);
$SousTotalCom['gagne']->AddDevis($Gestionnaire,$RefEditeur,$Gagne);
$SousTotalCom['perdu']->AddDevis($Gestionnaire,$RefEditeur,$Perdu);
$SousTotalCom['encours']->AddDevis($Gestionnaire,$RefEditeur,$Encours);
}
Expected result:
----------------
.... results .....
************************************
0000010215-------VR------>
0
0
2
6---- VR ------>
0
0
2
************************************
0000010215-------CA2------>
0
0
1
6---- CA2 ------>
2
0
1
************************************
0000010215-------VR------>
0
0
1
6---- VR ------>
0
0
3
************************************
0000008896-------VR------>
************************
instead of the error it should continue !!!!!!!!!!!!
*************************
Actual result:
--------------
last section of the result
************************************
0000010215-------VR------>
0
0
2
6---- VR ------>
0
0
2
************************************
0000010215-------CA2------>
0
0
1
6---- CA2 ------>
2
0
1
************************************
0000010215-------VR------>
0
0
1
6---- VR ------>
0
0
3
************************************
0000008896-------VR------>
Fatal error: Call to a member function on a non-object in c:\Program
Files\Apache Group\Apache2\htdocs\speedevis\lib\StatRev.inc.php on line
2018
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30630&edit=1