connection = new mysqli($host, $username, $password, $dbname); if (!$this->connection->connect_errno) { $this->connected = true; } else { die('Fail to connect to the RDBMS.'); } return $this->connection; } /** * [__destruct description] */ /* public function __destruct() { $this->close(); } */ /** * close method to close the opened connection to the RDBMS server * @return void */ public function close() { if ($this->connected && $this->connection->close()) { $this->connected = false; } else { die('Fail to close the connection to the RDBMS.'); } } /** * query method that permit to execute a SQL query * @param string $sql_query the SQL query to execute * @return object mysqli_result or FALSE on failure and TRUE for queries * without results */ public function query($sql_query) { if ($this->connected && !($this->current_result = $this->connection->query($sql_query))) { echo "Fail to execute the SQL query : " . $sql_query . "
"; } return $this->current_result; } /** * prepare_query method for parametrized SQL query preparation * @param string $prepared_query parametrized SQL query to prepare * @return object statement object or FALSE if an error occurred */ public function prepare_query($prepared_query) { $this->current_pquery = $prepared_query; if ($this->connected && !($this->current_stmt = $this->connection->prepare($this->current_pquery))) { // Empty the currently stored prepared query in the failure case $this->current_pquery = ""; echo "Fail to prepare SQL query : (" . $this->connection->errno . ") " . $this->connection->error . " - " . $this->current_pquery . "
"; } return $this->current_stmt; } /** * prepared_query_bind_param link parameters values to a prepared SQL query * @param string $types parameters types * @param array $params unidimensional array of parameters values * @return boolean TRUE on success or FALSE on failure */ public function prepared_query_bind_param($types, $params) { $rt_val = $this->current_stmt->bind_param($types, ...$params); if (!$rt_val) { echo "Fail to link parameters to SQL query : (" . $this->current_stmt->errno . ") " . $this->current_stmt->error . " - " . $this->current_pquery . "
"; } return $rt_val; } /** * run_prepared_query method that execute a parametrized SQL query linked * with its parameters values * @return boolean TRUE on success or FALSE on failure */ public function run_prepared_query() { $rt_val = $this->current_stmt->execute(); if (!$rt_val) { echo "Fail to execute SQL query : (" . $this->current_stmt->errno . ") " . $this->current_stmt->error . " - " . $this->current_pquery . "
"; } return $rt_val; } /** * get_pquery_result method to get the resultset of parametrized SQL query * @return object mysqli_result resultset or FALSE for other DML queries or on failure */ public function get_pquery_result() { $rt_val = $this->current_result = $this->current_stmt->get_result(); if (!$rt_val) { echo "Fail to fill SQL query result : (" . $this->current_stmt->errno . ") " . $this->current_stmt->error . " - " . $this->current_pquery . "
"; } return $rt_val; } /** * [get_result_array description] * @return [type] [description] */ public function get_result_array() { $row = $this->current_result->fetch_array(); if (is_null($row)) { $rt_val = []; } elseif (!isset($row)) { echo "Fail to build SQL query result array : (" . $this->current_stmt->errno . ") " . $this->current_stmt->error . " - " . $this->current_pquery . "
"; $rt_val = false; } else { $rows[] = $row; while ($row = $this->current_result->fetch_array()) { $rows[] = $row; } $rt_val = $rows; } return $rt_val; } /** * [close_prepared_query description] * @return [type] [description] */ public function close_prepared_query() { $rt_val = $this->current_stmt->close(); if (!$rt_val) { echo "Fail to close SQL query : (" . $this->current_stmt->errno . ") " . $this->current_stmt->error . " - " . $this->current_pquery . "
"; } return $rt_val; } } ?>