Files
code-cegled/_class/class_sql.php
2016-12-15 23:27:55 +01:00

92 lines
2.4 KiB
PHP
Executable File

<?php
/*
SQL osztály
adatbázis műveletek
SQLI osztályból származtatva
*/
class sql extends mysqli {
private $_query;
function __construct($_host, $_username, $_password, $_dbname) {
parent::__construct($_host, $_username, $_password, $_dbname);
self::set_charset("utf8");
}
public function single_variable($_query) {
$result = self::query($_query);
//var_dump($_query);
$assoc_array = $result->fetch_array(MYSQLI_NUM);
return $assoc_array['0'];
}
public function assoc_array($_query) {
//var_dump($_query);
$result = self::query($_query);
$ret_array = array();
while ($item = $result->fetch_assoc()) {
$ret_array[] = $item;
}
return $ret_array;
}
public function insert_into($table, $value_array, $need_apostrophs = true) {
//a beszúrt rekord id-ját adja vissza
$fields = '';
$values = '';
$i = 0;
$n = count($value_array);
foreach ($value_array as $key => $value) {
$fields .= $key;
$need_apostrophs = $value!='null';
$values .= ($need_apostrophs ? "'" : "") . $value . ($need_apostrophs ? "'" : "");
if ($i!=($n-1)) {
$fields .= ', ';
$values .= ', ';
}
$i++;
}
$this->_query = 'insert into ' . $table . ' (' . $fields . ') values (' . $values . ');';
//var_dump($this->_query);
self::query($this->_query);
return $this->insert_id;
}
public function update_table($table, $value_array, $conditions, $need_apostrophs = true) {
$this->_query = "update " . $table . " set ";
$n = count($value_array);
$i=0;
foreach ($value_array as $key => $val) {
$need_apostrophs = $val!='null';
$this->_query .= $key . "=" . ($need_apostrophs ? "'" : "") . $val . ($need_apostrophs ? "'" : "") . ($i!=$n-1 ? ", " : "");
$i++;
}
$this->_query .= " where ";
$n = count($conditions);
$i=0;
foreach ($conditions as $key_ => $val_) {
$this->_query .= $key_ . "='" . $val_ . "'" . ($i!=$n-1 ? " and " : ";");
$i++;
}
//var_dump($this->_query);
self::query($this->_query);
}
public function num_of_rows($_query) {
$result = self::query($_query);
return is_object($result)?$result->num_rows:0;
}
public function execute_query($_query) {
return self::query($_query);
}
}
?>