Update formatting

This commit is contained in:
Daeus Tang 2017-05-18 15:49:00 +01:00
parent 23c281b405
commit da31a5240a
1 changed files with 161 additions and 186 deletions

View File

@ -8,201 +8,176 @@
class SqliConvertor{
private $db;
private $query;
private $db;
private $query;
public function __construct($host, $username, $password, $db_name){
public function __construct($host, $username, $password, $db_name) {
$this->db = new mysqli($host, $username, $password, $db_name);
if ($this->db->connect_errno) {
throw Exception("Failed to connect: {$this->db->connect_error}");
}
}
public function real_escape_string($q)
{
return $this->db->real_escape_string($q);
}
public function escape_string($q)
{
return $this->db->real_escape_string($q);
}
public function escape($q, $quote = false)
{
if($quote)
{
return "'" . $this->db->real_escape_string($q) . "'";
}
else
{
return $this->db->real_escape_string($q);
}
}
public function query($sql)
{
$this->query = $this->db->query($sql);
return $this->query;
}
public function error()
{
return $this->db->error;
}
public function numrows(&$query = NULL)
{
return $this->num_rows($query);
}
public function num_rows(&$query = NULL)
{
if($query !== NULL)
{
$this->query = $query;
}
return $this->query->num_rows;
}
public function fetch_array(&$query = NULL)
{
if($query !== NULL)
{
$this->query = $query;
}
return $this->query->fetch_array();
}
public function fetch_object(&$query, $className = 'stdClass', $params = NULL)
{
$this->query = $query;
if($params === NULL)
{
return $query->fetch_object($className);
}
else
{
return $query->fetch_object($className, $params);
}
}
public function result(&$query, $row, $field = 0)
{
$this->query = $query;
//seek to row
$query->data_seek($row);
//seek field
if(is_integer($field))
{
$row = $query->fetch_row();
$row->field_seek($field);
return $result->fetch_field();
}
else
{
$row = $query->fetch_assoc();
return $row[$field];
}
}
public function insert_id(){
return $this->db->insert_id;
}
/**
* Self-defined function
*/
public function result_array($sql, $params = NULL, $field_name = NULL)
{
$sql = $this->build_sql($sql, $params);
$query = $this->db->query($sql);
if( !$query )
{
//throw new Exception("result_array error. Please check your SQL: " . $sql);
}
$result = '';
if($field_name === NULL){
while($row = $query->fetch_assoc())
{
$result[] = $row;
}
}else{
while($row = $query->fetch_assoc())
{
$result[] = $row[$field_name];
}
}
return $result;
$this->db = new mysqli($host, $username, $password, $db_name);
if ($this->db->connect_errno) {
throw Exception("Failed to connect: {$this->db->connect_error}");
}
}
public function run_query($sql, $params = NULL)
{
$sql = $this->build_sql($sql, $params);
$query = $this->query($sql);
if( !$query )
{
//throw new Exception("run_query error. Please check your SQL: " . $sql);
}
return $query;
public function real_escape_string($q) {
return $this->db->real_escape_string($q);
}
public function escape_string($q) {
return $this->db->real_escape_string($q);
}
public function escape($q, $quote = false) {
if($quote) {
return "'" . $this->db->real_escape_string($q) . "'";
} else {
return $this->db->real_escape_string($q);
}
}
public function query($sql) {
$this->query = $this->db->query($sql);
return $this->query;
}
public function error() {
return $this->db->error;
}
public function numrows(&$query = NULL) {
return $this->num_rows($query);
}
public function num_rows(&$query = NULL) {
if($query !== NULL) {
$this->query = $query;
}
public function insert($sql, $params = NULL)
{
$sql = $this->build_sql($sql, $params);
$this->query = $this->db->query($sql);
if( !$this->query )
{
//throw new Exception("insert error. Please check your SQL: " . $sql);
}
return $this->db->insert_id;
}
return $this->query->num_rows;
}
public function row_array($sql, $params = NULL, $field_name = NULL)
{
$sql = $this->build_sql($sql, $params);
$this->query = $this->db->query($sql);
if( !$this->query )
{
//throw new Exception("result_row error. Please check your SQL: " . $sql);
}
$row = $this->query->fetch_assoc();
if( !$field_name == NULL)
{
return $row[$field_name];
}
else
{
return $row;
}
}
public function build_sql($sql, $params = NULL)
{
if( !$params == NULL )
{
$sql = str_replace('?', '%s', $sql);
if( is_array($params) )
{
foreach($params as &$p)
{
$p = "'" . $this->db->real_escape_string($p) . "'";
}
return vsprintf($sql, $params);
} else {
$params = "'" . $this->db->real_escape_string($params) . "'";
return sprintf($sql, $params);
}
}
return $sql;
public function fetch_array(&$query = NULL) {
if($query !== NULL) {
$this->query = $query;
}
return $this->query->fetch_array();
}
public function fetch_object(&$query, $className = 'stdClass', $params = NULL) {
$this->query = $query;
if($params === NULL) {
return $query->fetch_object($className);
} else {
return $query->fetch_object($className, $params);
}
}
public function result(&$query, $row, $field = 0) {
$this->query = $query;
//seek to row
$query->data_seek($row);
//seek field
if(is_integer($field)) {
$row = $query->fetch_row();
$row->field_seek($field);
return $result->fetch_field();
} else {
$row = $query->fetch_assoc();
return $row[$field];
}
}
public function insert_id() {
return $this->db->insert_id;
}
/**
* Self-defined function
*/
public function result_array($sql, $params = NULL, $field_name = NULL) {
$sql = $this->build_sql($sql, $params);
$query = $this->db->query($sql);
if( !$query) {
//throw new Exception("result_array error. Please check your SQL: " . $sql);
}
$result = '';
if($field_name === NULL) {
while($row = $query->fetch_assoc()) {
$result[] = $row;
}
} else {
while($row = $query->fetch_assoc()) {
$result[] = $row[$field_name];
}
}
return $result;
}
public function run_query($sql, $params = NULL) {
$sql = $this->build_sql($sql, $params);
$query = $this->query($sql);
if( !$query) {
//throw new Exception("run_query error. Please check your SQL: " . $sql);
}
return $query;
}
public function insert($sql, $params = NULL) {
$sql = $this->build_sql($sql, $params);
$this->query = $this->db->query($sql);
if( !$this->query ) {
// TODO:
//throw new Exception("insert error. Please check your SQL: " . $sql);
}
return $this->db->insert_id;
}
public function row_array($sql, $params = NULL, $field_name = NULL) {
$sql = $this->build_sql($sql, $params);
$this->query = $this->db->query($sql);
if( !$this->query){
// TODO:
//throw new Exception("result_row error. Please check your SQL: " . $sql);
}
$row = $this->query->fetch_assoc();
if( !$field_name == NULL) {
return $row[$field_name];
} else {
return $row;
}
}
public function build_sql($sql, $params = NULL) {
if( !$params == NULL ) {
$sql = str_replace('?', '%s', $sql);
if( is_array($params) ) {
foreach($params as &$p) {
$p = "'" . $this->db->real_escape_string($p) . "'";
}
return vsprintf($sql, $params);
} else {
$params = "'" . $this->db->real_escape_string($params) . "'";
return sprintf($sql, $params);
}
}
return $sql;
}
}
?>