NeuralMesh
  • Class
  • Tree

Classes

  • AbstractNetwork
  • Controller
  • layer
  • ManagedNetwork
  • Model
  • mysql
  • Navigation
  • network
  • NeuralMesh
  • neuron
  • nmesh
  • synapse
  • train
  • UnmanagedNetwork
  • users
  • validation
 1 <?php
 2 //
 3 // In your Model class, you must initialize it by calling mysql::init()
 4 //
 5 class mysql {
 6     private static $db;
 7     private static $queries;
 8     
 9     public static function init() {
10         self::$db = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME); //edit in nm-settings.php
11         self::$queries = array();
12     }
13 
14     public static function query($name, $parameters = array(), $force=false) {
15         $meta = explode(".",$name);
16         
17         //Load from XML if query doesn't exist
18         if(!isset(self::$queries[$name])) {
19             $queriesXML = simplexml_load_file(Controller::$root."data/".$meta[0].".xml");
20             foreach($queriesXML as $query) {
21                 $key = $meta[0].".".(string)$query['name'];
22                 self::$queries[$key] = (string)$query;
23             }
24         }
25         
26         $sql = self::$queries[$name] or die("Error: query <var>$name</var> is not found!");
27         
28         if (count($parameters)) {
29             $formattedParams = array();
30             // Prepend a ':' to each parameter name and escape the value properly.
31             foreach($parameters as $paramName => $paramValue) {             
32                 if(!$force) {
33                     switch($paramValue) {
34                         case NULL:
35                             $paramValue = "NULL";
36                             break;
37                         case "DEFAULT": break;
38                         default:
39                             $paramValue = "'".self::$db->real_escape_string($paramValue)."'";
40                             break;
41                     }
42                 }
43                 $formattedParams[":$paramName"] = $paramValue;
44             }
45             // Replace placeholders in the query with assigned values.
46             $sql = strtr($sql, $formattedParams);
47         }       
48         // Execute the query and return the result.
49         $q = self::$db->query($sql) or die("<b>Database error:</b> ".$sql);
50         return $q;
51     }
52     
53     public static function rawquery($sql) {
54         return self::$db->query($sql);
55     }
56     
57     public static function last_id() {
58         return self::$db->insert_id;
59     }
60     
61     /**
62      * Replacement for lack of fetch_all
63      * @param q MySQLi query object
64      * @return multidimensional associative array of the query
65      */
66     public static function fetch_all($q) {
67         $data = array();
68         while($row = $q->fetch_assoc()) {
69             $data[] = $row;
70         }
71         return $data;
72     }
73 }
74 ?>
NeuralMesh API documentation generated by ApiGen