return $this->db;
}
- /** Returns the MySQL server version string
- *
+ /**
+ * @brief Returns the MySQL server version string
+ *
* This function discriminate between the deprecated mysql API and the current
* object-oriented mysqli API. Example of returned string: 5.5.46-0+deb8u1
*
return $return;
}
+ /**
+ * @brief Returns the number of rows
+ *
+ * @return string
+ */
+ public function num_rows() {
+ if (!$this->result)
+ return 0;
+
+ if ($this->mysqli) {
+ $return = $this->result->num_rows;
+ } else {
+ $return = mysql_num_rows($this->result);
+ }
+ return $return;
+ }
+
public function q($sql, $onlyquery = false) {
global $a;
$stamp1 = microtime(true);
+ $sql = "/*".$a->callstack()." */ ".$sql;
+
if($this->mysqli)
$result = @$this->db->query($sql);
else
}}
+/**
+ * @brief Performs a query with "dirty reads"
+ *
+ * By doing dirty reads (reading uncommitted data) no locks are performed
+ * This function can be used to fetch data that doesn't need to be reliable.
+ *
+ * @param $args Query parameters (1 to N parameters of different types)
+ * @return array Query array
+ */
+function qu($sql) {
+
+ global $db;
+ $args = func_get_args();
+ unset($args[0]);
+
+ if($db && $db->connected) {
+ $stmt = @vsprintf($sql,$args); // Disabled warnings
+ if($stmt === false)
+ logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true), LOGGER_DEBUG);
+ $db->q("SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;");
+ $retval = $db->q($stmt);
+ $db->q("COMMIT;");
+ return $retval;
+ }
+
+ /**
+ *
+ * This will happen occasionally trying to store the
+ * session data after abnormal program termination
+ *
+ */
+ logger('dba: no database: ' . print_r($args,true));
+ return false;
+
+}
+
/**
*
* Raw db query, no arguments