connection = new mysqli($dbhost, $dbuser, $dbpass, $dbname, 25060); if ($this->connection->connect_error) { die('Failed to connect to MySQL - ' . $this->connection->connect_error); } $this->query('SET NAMES utf8'); $this->query("SET CHARACTER SET 'utf8'"); $this->query("SET COLLATION_CONNECTION='utf8_unicode_ci'"); $this->connection->set_charset($charset); } public function inputEllenorzes($input){ $ellenorzott = $this->connection->real_escape_string($input); return $ellenorzott; } public function query($query) { if ($this->query = $this->connection->prepare($query)) { if (func_num_args() > 1) { $x = func_get_args(); $args = array_slice($x, 1); $types = ''; $args_ref = array(); foreach ($args as $k => &$arg) { if (is_array($args[$k])) { foreach ($args[$k] as $j => &$a) { $types .= $this->_gettype($args[$k][$j]); $args_ref[] = &$a; } } else { $types .= $this->_gettype($args[$k]); $args_ref[] = &$arg; } } array_unshift($args_ref, $types); call_user_func_array(array($this->query, 'bind_param'), $args_ref); } $this->query->execute(); if ($this->query->errno) { die('Unable to process MySQL query (check your params) - ' . $this->query->error); } //$this->query_count++; } else { die('Unable to prepare statement (check your syntax) - ' . $this->connection->error); } return $this; } public function fetchAll() { $params = array(); $meta = $this->query->result_metadata(); while ($field = $meta->fetch_field()) { $params[] = &$row[$field->name]; } call_user_func_array(array($this->query, 'bind_result'), $params); $result = array(); while ($this->query->fetch()) { $r = array(); foreach ($row as $key => $val) { $r[$key] = $val; } $result[] = $r; } $this->query->close(); return $result; } public function fetchArray() { $params = array(); $meta = $this->query->result_metadata(); while ($field = $meta->fetch_field()) { $params[] = &$row[$field->name]; } call_user_func_array(array($this->query, 'bind_result'), $params); $result = array(); while ($this->query->fetch()) { foreach ($row as $key => $val) { $result[$key] = $val; } } $this->query->close(); return $result; } public function numRows() { $this->query->store_result(); return $this->query->num_rows; } public function close() { return $this->connection->close(); } public function affectedRows() { return $this->query->affected_rows; } private function _gettype($var) { if(is_string($var)) return 's'; if(is_float($var)) return 'd'; if(is_int($var)) return 'i'; return 'b'; } } // Minták a használatához: //Egy rekord kinyerése: // $account = $adatbazis->query('SELECT * FROM accounts WHERE username = ? AND password = ?', 'test', 'test')->fetchArray(); echo $account['name']; ////////////////////////////////////////////////////////////////////////////////// //Több rekord kinyerése // $accounts = $adatbazis->query('SELECT * FROM accounts')->fetchAll(); // foreach ($accounts as $account) { // //echo $account['name'] . '
'; // } ///////////////////////////////////////////////////////////////////////////////// //Lekérdezés sorainak a száma //$accounts = $adatabazis->query('SELECT * FROM accounts'); echo $accounts->numRows(); ///////////////////////////////////////////////////////////////////////////////// ?>