Update database.php

This commit is contained in:
FusionPBX 2019-04-23 09:28:49 -06:00 committed by GitHub
parent 73b3d9bfc5
commit 2d793b3cc4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 58 additions and 25 deletions

View File

@ -450,20 +450,47 @@ include "root.php";
} }
// Use this function to execute complex queries // Use this function to execute complex queries
public function execute() { public function execute($sql, $parameters = null) {
//connect to the database if needed //connect to the database if needed
if (!$this->db) { if (!$this->db) {
$this->connect(); $this->connect();
} }
//get data from the database //set the error mode
$prep_statement = $this->db->prepare($this->sql); $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if ($prep_statement) {
$prep_statement->execute(); //execute the query, and return the results
try {
$prep_statement = $this->db->prepare($sql);
if (is_array($parameters)) {
$prep_statement->execute($parameters);
}
else {
$prep_statement->execute();
}
$message["message"] = "OK";
$message["code"] = "200";
$message["sql"] = $sql;
if (is_array($parameters)) {
$message["parameters"] = $parameters;
}
$this->message = $message;
//$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
//unset($prep_statement);
return $prep_statement->fetchAll(PDO::FETCH_ASSOC); return $prep_statement->fetchAll(PDO::FETCH_ASSOC);
} }
else { catch(PDOException $e) {
$message["message"] = "Bad Request";
$message["code"] = "400";
$message["error"]["message"] = $e->getMessage();
if ($this->debug["sql"]) {
$message["sql"] = $sql;
}
if (is_array($parameters)) {
$message["parameters"] = $parameters;
}
$this->message = $message;
return false; return false;
} }
} }
@ -1181,42 +1208,48 @@ include "root.php";
} //count } //count
public function select($sql) { public function select($sql, $parameters = null) {
//connect to the database if needed //connect to the database if needed
if (!$this->db) { if (!$this->db) {
$this->connect(); $this->connect();
} }
//set the error mode
$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//execute the query, and return the results //execute the query, and return the results
try { try {
$prep_statement = $this->db->prepare(check_sql($sql)); $prep_statement = $this->db->prepare($sql);
$prep_statement->execute(); if (is_array($parameters)) {
$prep_statement->execute($parameters);
}
else {
$prep_statement->execute();
}
$message["message"] = "OK"; $message["message"] = "OK";
$message["code"] = "200"; $message["code"] = "200";
$message["details"][$m]["name"] = $this->name; $message["sql"] = $sql;
$message["details"][$m]["message"] = "OK"; if (is_array($parameters)) {
$message["details"][$m]["code"] = "200"; $message["parameters"] = $parameters;
if ($this->debug["sql"]) {
$message["details"][$m]["sql"] = $sql;
} }
$this->message = $message; $this->message = $message;
$this->result = $prep_statement->fetchAll(PDO::FETCH_NAMED); //$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
unset($prep_statement); //unset($prep_statement);
$m++; return $prep_statement->fetchAll(PDO::FETCH_ASSOC);
return $this;
} }
catch(PDOException $e) { catch(PDOException $e) {
$message["message"] = "Bad Request"; $message["message"] = "Bad Request";
$message["code"] = "400"; $message["code"] = "400";
$message["details"][$m]["name"] = $this->name; $message["error"]["message"] = $e->getMessage();
$message["details"][$m]["message"] = $e->getMessage();
$message["details"][$m]["code"] = "400";
if ($this->debug["sql"]) { if ($this->debug["sql"]) {
$message["details"][$m]["sql"] = $sql; $message["sql"] = $sql;
}
if (is_array($parameters)) {
$message["parameters"] = $parameters;
} }
$this->message = $message; $this->message = $message;
$this->result = ''; return false;
$m++;
return $this;
} }
} //select } //select