Thread: [Phpbb-php5mod-cvs-checkins] phpbb-php5/db mysqli.php,NONE,1.1
Brought to you by:
jelly_doughnut
From: Christian H. <fli...@us...> - 2004-09-24 02:36:28
|
Update of /cvsroot/phpbb-php5mod/phpbb-php5/db In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13567 Added Files: mysqli.php Log Message: This is the half-finished version of mysqli.php. DO NOT USE! It is for devel only. --- NEW FILE: mysqli.php --- <?php /*************************************************************************** * mysqli.php * ------------------- * begin : Thursday, Sept 16, 2003 * copyright : (C) 2001 The phpBB for php5 Group * email : supportphpbb.com * * $Id: mysqli.php,v 1.1 2004/09/24 02:36:20 flight_master Exp $ * ***************************************************************************/ /*************************************************************************** * * 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. * ***************************************************************************/ //This file is a modified version of mysql4.php for use with the //mysqli extension. Currently, it uses the procedural method, //however, I'm thinking of doing it as OOP if time permits. if(!defined("SQL_LAYER")) { define("SQL_LAYER","mysqli"); class sql_db { var $db_connect_id; var $query_result; var $row = array(); var $rowset = array(); var $num_queries = 0; var $in_transaction = 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; $this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server, $this->user, $this->password) : 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 ) { // // Commit any remaining transactions // if( $this->in_transaction ) { mysql_query("COMMIT", $this->db_connect_id); } return mysql_close($this->db_connect_id); } 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++; if( $transaction == BEGIN_TRANSACTION && !$this->in_transaction ) { $result = mysql_query("BEGIN", $this->db_connect_id); if(!$result) { return false; } $this->in_transaction = TRUE; } $this->query_result = mysql_query($query, $this->db_connect_id); } else { if( $transaction == END_TRANSACTION && $this->in_transaction ) { $result = mysql_query("COMMIT", $this->db_connect_id); } } if( $this->query_result ) { unset($this->row[$this->query_result]); unset($this->rowset[$this->query_result]); if( $transaction == END_TRANSACTION && $this->in_transaction ) { $this->in_transaction = FALSE; if ( !mysql_query("COMMIT", $this->db_connect_id) ) { mysql_query("ROLLBACK", $this->db_connect_id); return false; } } return $this->query_result; } else { if( $this->in_transaction ) { mysql_query("ROLLBACK", $this->db_connect_id); $this->in_transaction = FALSE; } return false; } } // // Other query methods // function sql_numrows($query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ) ? mysql_num_rows($query_id) : false; } function sql_affectedrows() { return ( $this->db_connect_id ) ? mysql_affected_rows($this->db_connect_id) : false; } function sql_numfields($query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ) ? mysql_num_fields($query_id) : false; } function sql_fieldname($offset, $query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ) ? mysql_field_name($query_id, $offset) : false; } //Created on 09.16.2004 8:48 PM by phpbb2_fan //I would think this is right, if it isn't please do correct me ;-) function sql_fieldtype($offset, $query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ) ? mysqli_fetch_field_direct($query_id, $offset) : false; } //Created on 09.16.2004 8:42 PM by phpbb2_fan function sql_fetchrow($query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } if( $query_id ) {//hmm... i forgot to change MYSQL_ASSOC to MYSQLI_ASSOC, done now though :) $this->row[$query_id] = mysqli_fetch_array($query_id, MYSQLI_ASSOC); return $this->row[$query_id]; } else { return false; } } // created on: 09.16.2004 8:39 PM by phpbb2_fan 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] = mysqli_fetch_array($query_id, MYSQL_ASSOC)) { $result[] = $this->rowset[$query_id]; } return $result; } else { return false; } } // created on: 09.16.2004 8:38 PM by phpbb2_fan function sql_fetchfield($field, $rownum = -1, $query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } if( $query_id ) { if( $rownum > -1 ) { $result = mysqli_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; } } // created on: 09.16.2004 8:37 PM by phpbb2_fan function sql_rowseek($rownum, $query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } return ( $query_id ) ? mysqli_data_seek($query_id, $rownum) : false; } // created on: 09.16.2004 8:36 PM by phpbb2_fan function sql_nextid() { return ( $this->db_connect_id ) ? mysqli_insert_id($this->db_connect_id) : false; } // created on: 09.16.2004 8:34 PM by phpbb2_fan function sql_freeresult($query_id = 0) { if( !$query_id ) { $query_id = $this->query_result; } if ( $query_id ) { unset($this->row[$query_id]); unset($this->rowset[$query_id]); mysqli_free_result($query_id); return true; } else { return false; } } // created on: 09.16.2004 8:32 PM by phpbb2_fan function sql_error() { $result['message'] = mysqli_error($this->db_connect_id); $result['code'] = mysqli_errno($this->db_connect_id); return $result; } } // class sql_db } // if ... define ?> |