Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Fake dbal for mysql
- *
- * Works like the phpbb dbal
- */
- class dbal
- {
- private $handle;
- public function sql_connect($host = '', $username = '', $password = '')
- {
- $this->handle = mysql_connect($host, $username, $password);
- }
- public function sql_select_db($dbname)
- {
- return mysql_select_db($dbname, $this->handle);
- }
- public function sql_escape($string)
- {
- return @mysql_real_escape_string($string, $this->handle);
- }
- public function sql_query($sql)
- {
- return mysql_query($sql, $this->handle);
- }
- public function sql_query_limit($sql, $limit, $offset)
- {
- $sql .= "\n LIMIT " . ((!empty($offset)) ? $offset . ', ' . $limit : $limit);
- return $this->sql_query($sql);
- }
- public function sql_fetchrow($result)
- {
- return mysql_fetch_array($result, MYSQL_ASSOC);
- }
- public function sql_nextid()
- {
- return ($this->handle) ? mysql_insert_id($this->handle) : false;
- }
- public function sql_freeresult($result)
- {
- return @mysql_free_result($result);
- }
- public function sql_close()
- {
- return @mysql_close($this->handle);
- }
- /*
- * These functions came from phpBB's dbal
- */
- public function sql_build_array($query, $assoc_ary = false)
- {
- if (!is_array($assoc_ary))
- {
- return false;
- }
- $fields = $values = array();
- if ($query == 'INSERT' || $query == 'INSERT_SELECT')
- {
- foreach ($assoc_ary as $key => $var)
- {
- $fields[] = $key;
- if (is_array($var) && is_string($var[0]))
- {
- // This is used for INSERT_SELECT(s)
- $values[] = $var[0];
- }
- else
- {
- $values[] = $this->_sql_validate_value($var);
- }
- }
- $query = ($query == 'INSERT') ? ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')' : ' (' . implode(', ', $fields) . ') SELECT ' . implode(', ', $values) . ' ';
- }
- else if ($query == 'MULTI_INSERT')
- {
- trigger_error('The MULTI_INSERT query value is no longer supported. Please use sql_multi_insert() instead.', E_USER_ERROR);
- }
- else if ($query == 'UPDATE' || $query == 'SELECT')
- {
- $values = array();
- foreach ($assoc_ary as $key => $var)
- {
- $values[] = "$key = " . $this->_sql_validate_value($var);
- }
- $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values);
- }
- return $query;
- }
- private function _sql_validate_value($var)
- {
- if (is_null($var))
- {
- return 'NULL';
- }
- else if (is_string($var))
- {
- return "'" . $this->sql_escape($var) . "'";
- }
- else
- {
- return (is_bool($var)) ? intval($var) : $var;
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement