ugrás a tartalomhoz

PHP változó elfelejti tartalmát

visuall · 2016. Jan. 29. (P), 21.37
Üdvözletem!

Van egy kódom:
  1. $this->database  
  2.                 ->Add()  
  3.                 ->Col("which""ident""date""time""client")  
  4.                 ->Value($which$id, Sanitizer("toSTDdate")->Sanitize(getTime()), Sanitizer("toSTDtime")->Sanitize(getTime()), getClientID())  
  5.                 ->Table("form");  
  6. $res = $this->database->Execute();  
Tegyük fel, hogy az összes tagfüggvény megvan, továbbá egy belső változó, a
  1. $this->query  
is.

Amikor végrehajtom ezeket, a $this->query tagváltozóba írják a maguk dolgait (pl. "column" => ["sor", "másodsor"]), így végül az
  1. Execute()  
nevű tagfüggvény az alapján végre tudja hajtani a lekérdezést.

A kérdésem az lenne a fenti koncepcióval kapcsolatban (amely a hiba keletkezése előtt (kb. 6x) jól működik) az lenne, hogy az említett $this->query tagváltozó az egyik metódus meghívásakor (Value()) hogyan lehet üres, mikor már fel lett töltve? Egy kis útmutatás hozzá (adatbázis-objektum kiíratása):

A Col (mezők-megadása) tagfüggvény meghívása után:
  1. object(MysqlDatabase)#3 (13) {  
  2.   ["mysql":protected]=>  
  3.   object(mysqli)#4 (19) {  
  4.     ...  
  5.   }  
  6.   ["query":protected]=>  
  7.   array(2) {  
  8.     [0]=>  
  9.     array(1) {  
  10.       ["add"]=>  
  11.       string(13) " INSERT INTO "  
  12.     }  
  13.     ["col"]=>  
  14.     array(5) {  
  15.       [0]=>  
  16.       string(5) "which"  
  17.       [1]=>  
  18.       string(5) "ident"  
  19.       [2]=>  
  20.       string(4) "date"  
  21.       [3]=>  
  22.       string(4) "time"  
  23.       [4]=>  
  24.       string(6) "client"  
  25.     }  
  26.   }  
  27.   ["queries":protected]=>  
  28.   array(0) {  
  29.   }  
  30.   ["transaction":protected]=>  
  31.   bool(false)  
  32.   ["query_alias_tables":protected]=>  
  33.   array(0) {  
  34.   }  
  35.   ["noExec":protected]=>  
  36.   bool(false)  
  37.   ["query_rel":protected]=>  
  38.   array(0) {  
  39.   }  
  40.   ["setQuery":protected]=>  
  41.   bool(false)  
  42. }  
A Value tagfüggvény meghívása után:
  1. object(MysqlDatabase)#3 (13) {  
  2.   ["mysql":protected]=>  
  3.   object(mysqli)#4 (19) {  
  4.     ...  
  5.   }  
  6.   ["queries":protected]=>  
  7.   array(0) {  
  8.   }  
  9.   ["transaction":protected]=>  
  10.   bool(false)  
  11.   ["query_alias_tables":protected]=>  
  12.   array(0) {  
  13.   }  
  14.   ["noExec":protected]=>  
  15.   bool(false)  
  16.   ["query_rel":protected]=>  
  17.   array(0) {  
  18.   }  
  19.   ["setQuery":protected]=>  
  20.   bool(false)  
  21.   ["query":protected]=>  
  22.   array(1) {  
  23.     ["value"]=>  
  24.     array(5) {  
  25.       [0]=>  
  26.       string(5) "login"  
  27.       [1]=>  
  28.       string(100) "510a2468101210101086516a24681012101010861014246810121010108615b30c51015202530252525201510a5123456555"  
  29.       [2]=>  
  30.       string(10) "2016-01-29"  
  31.       [3]=>  
  32.       string(8) "20:22:44"  
  33.       [4]=>  
  34.       string(1) "1"  
  35.     }  
  36.   }  
  37. }  
Köszönöm!



Szerk.: A probléma megoldására végül rájöttem:
Az egyik paraméterben meghívott függvény kavart be!