mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-28 12:30:42 +02:00
phpBB
admin
db
schemas
db2.php
index.htm
msaccess.php
mssql-odbc.php
mssql.php
mysql.php
mysql4.php
oracle.php
postgres7.php
develop
docs
images
includes
language
templates
common.php
config.php
extension.inc
faq.php
groupcp.php
index.php
install.php
login.php
memberlist.php
modcp.php
posting.php
privmsg.php
profile.php
search.php
template.inc
upgrade.php
viewforum.php
viewonline.php
viewtopic.php
329 lines
5.7 KiB
PHP
329 lines
5.7 KiB
PHP
<?php
|
|
/***************************************************************************
|
|
* mysql.php
|
|
* -------------------
|
|
* begin : Saturday, Feb 13, 2001
|
|
* copyright : (C) 2001 The phpBB Group
|
|
* email : support@phpbb.com
|
|
*
|
|
* $Id$
|
|
*
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
***************************************************************************/
|
|
|
|
if(!defined("SQL_LAYER"))
|
|
{
|
|
|
|
define("SQL_LAYER","mysql");
|
|
|
|
class sql_db
|
|
{
|
|
|
|
var $db_connect_id;
|
|
var $query_result;
|
|
var $row;
|
|
var $num_queries = 0;
|
|
|
|
//
|
|
// Constructor
|
|
//
|
|
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
|
|
{
|
|
|
|
$this->persistency = $persistency;
|
|
$this->user = $sqluser;
|
|
$this->password = $sqlpassword;
|
|
$this->server = $sqlserver;
|
|
$this->dbname = $database;
|
|
|
|
if($this->persistency)
|
|
{
|
|
$this->db_connect_id = @mysql_pconnect($this->server, $this->user, $this->password);
|
|
}
|
|
else
|
|
{
|
|
$this->db_connect_id = @mysql_connect($this->server, $this->user, $this->password);
|
|
}
|
|
if($this->db_connect_id)
|
|
{
|
|
if($database != "")
|
|
{
|
|
$this->dbname = $database;
|
|
$dbselect = @mysql_select_db($this->dbname);
|
|
if(!$dbselect)
|
|
{
|
|
@mysql_close($this->db_connect_id);
|
|
$this->db_connect_id = $dbselect;
|
|
}
|
|
}
|
|
return $this->db_connect_id;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//
|
|
// Other base methods
|
|
//
|
|
function sql_close()
|
|
{
|
|
if($this->db_connect_id)
|
|
{
|
|
if($this->query_result)
|
|
{
|
|
@mysql_free_result($this->query_result);
|
|
}
|
|
$result = @mysql_close($this->db_connect_id);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//
|
|
// Base query method
|
|
//
|
|
function sql_query($query = "", $transaction = FALSE)
|
|
{
|
|
// Remove any pre-existing queries
|
|
unset($this->query_result);
|
|
if($query != "")
|
|
{
|
|
$this->num_queries++;
|
|
|
|
$this->query_result = @mysql_query($query, $this->db_connect_id);
|
|
}
|
|
if($this->query_result)
|
|
{
|
|
unset($this->row[$this->query_result]);
|
|
unset($this->rowset[$this->query_result]);
|
|
return $this->query_result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//
|
|
// Other query methods
|
|
//
|
|
function sql_numrows($query_id = 0)
|
|
{
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
$result = @mysql_num_rows($query_id);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_affectedrows()
|
|
{
|
|
if($this->db_connect_id)
|
|
{
|
|
$result = @mysql_affected_rows($this->db_connect_id);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_numfields($query_id = 0)
|
|
{
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
$result = @mysql_num_fields($query_id);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_fieldname($offset, $query_id = 0)
|
|
{
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
$result = @mysql_field_name($query_id, $offset);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_fieldtype($offset, $query_id = 0)
|
|
{
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
$result = @mysql_field_type($query_id, $offset);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_fetchrow($query_id = 0)
|
|
{
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
$this->row[$query_id] = @mysql_fetch_array($query_id);
|
|
return $this->row[$query_id];
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_fetchrowset($query_id = 0)
|
|
{
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
unset($this->rowset[$query_id]);
|
|
unset($this->row[$query_id]);
|
|
while($this->rowset[$query_id] = @mysql_fetch_array($query_id))
|
|
{
|
|
$result[] = $this->rowset[$query_id];
|
|
}
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_fetchfield($field, $rownum = -1, $query_id = 0)
|
|
{
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
if($rownum > -1)
|
|
{
|
|
$result = @mysql_result($query_id, $rownum, $field);
|
|
}
|
|
else
|
|
{
|
|
if(empty($this->row[$query_id]) && empty($this->rowset[$query_id]))
|
|
{
|
|
if($this->sql_fetchrow())
|
|
{
|
|
$result = $this->row[$query_id][$field];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if($this->rowset[$query_id])
|
|
{
|
|
$result = $this->rowset[$query_id][$field];
|
|
}
|
|
else if($this->row[$query_id])
|
|
{
|
|
$result = $this->row[$query_id][$field];
|
|
}
|
|
}
|
|
}
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_rowseek($rownum, $query_id = 0){
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
$result = @mysql_data_seek($query_id, $rownum);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_nextid(){
|
|
if($this->db_connect_id)
|
|
{
|
|
$result = @mysql_insert_id($this->db_connect_id);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_freeresult($query_id = 0){
|
|
if(!$query_id)
|
|
{
|
|
$query_id = $this->query_result;
|
|
}
|
|
if($query_id)
|
|
{
|
|
$result = @mysql_free_result($query_id);
|
|
return $result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
function sql_error($query_id = 0)
|
|
{
|
|
$result["message"] = @mysql_error($this->db_connect_id);
|
|
$result["code"] = @mysql_errno($this->db_connect_id);
|
|
|
|
return $result;
|
|
}
|
|
|
|
} // class sql_db
|
|
|
|
} // if ... define
|
|
|
|
?>
|