Hello guys.
I have a file with the above function that returns the $db variable.
function mysql_init(){ $db = new PDO('mysql:host=localhost;dbname=geneticDb;charset=utf8', 'dev', 'dev'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); return $db; }
Now i want to use this variable in every method of the above class without call again that function in each method. Somehow i want to call this once and then just use the $db variable.
<?php require_once('mysql.php'); class Note { private $_done; private $_noteType; private $_plantId; private $_noteTitle; private $_noteText; private $_regenerationDate; private $_noteId; public function __construct() { } public function addNote($noteType, $plantId , $noteTitle, $noteText) { $this->_noteType = $noteType; $this->_plantId = $plantId; $this->_noteTitle = $noteTitle; $this->_noteText = $noteText; $db = mysql_init(); $sql = "INSERT INTO notes ( noteId , noteType, plantId, noteTitle, noteText ) VALUES ('', ?, ?, ?, ?)"; $prq = $db->prepare($sql); $prq->bindValue(1,$this->_noteType, PDO::PARAM_STR); $prq->bindValue(2,$this->_plantId,PDO::PARAM_INT); $prq->bindValue(3,$this->_noteTitle,PDO::PARAM_STR); $prq->bindValue(4,$this->_noteText,PDO::PARAM_STR); ($prq->execute()) ? $this->_done = 1 : $this->_done = 0; if ($this->_done == '0') { $json = array('status' => $this->_done, 'error' => $prq->errorCode() ); $JsonObject = json_encode($json); }else{ $json = array('status' => $this->_done); $JsonObject = json_encode($json); } echo $JsonObject; } public function addRegenerationNote($noteType, $plantId , $regenerationDate) { $this->_noteType = $noteType; $this->_plantId = $plantId; $this->_regenerationDate = $regenerationDate; $db = mysql_init(); $sql = "INSERT INTO notes ( noteId , noteType, plantId, regenerationDate ) VALUES ('', ?, ?, ?)"; $prq = $db->prepare($sql); $prq->bindValue(1,$this->_noteType,PDO::PARAM_STR); $prq->bindValue(2,$this->_plantId,PDO::PARAM_INT); $prq->bindValue(3,$this->_regenerationDate,PDO::PARAM_STR); ($prq->execute()) ? $this->_done = 1 : $this->_done = 0; if ($this->_done == '0') { $json = array('status' => $this->_done, 'error' => $prq->errorCode() ); $JsonObject = json_encode($json); }else{ $json = array('status' => $this->_done); $JsonObject = json_encode($json); } echo $JsonObject; } .....
As you can see i call in every method the mysql_init() function. Is it possible to call it only once at the start of the class and then just use the $db var ?
Thank you.