⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database-mysql.php

📁 GForge 3.0 协作开发平台 支持CVS, mailing lists, bug tracking, message boards/forums, task management, perman
💻 PHP
字号:
<?php/** * MySQL database connection/querying layer * * SourceForge: Breaking Down the Barriers to Open Source Development * Copyright 1999-2001 (c) VA Linux Systems * http://sourceforge.net * * @version   $Id: database-mysql.php,v 1.6 2001/06/08 15:08:56 dbrogdon Exp $ *//** * System-wide database type * * @var	constant		$sys_database_type */$sys_database_type='mysql';/** *  db_connect() -  Connect to the database * *  Notice the global vars that must be set up *  Sets up a global $conn variable which is used  *  in other functions in this library */function db_connect() {	global $sys_dbhost,$sys_dbuser,$sys_dbpasswd,		$conn,$conn_update,$sys_db_use_replication,$sys_dbreadhost;	if ($sys_db_use_replication) {		//		//  if configured for replication, $conn is the read-only host		//  we do not connect to update server until needed		//		$conn = @mysql_pconnect($sys_dbreadhost,$sys_dbuser,$sys_dbpasswd);		$conn_update=@mysql_pconnect($sys_dbhost,$sys_dbuser,$sys_dbpasswd);	} else {		$conn = @mysql_pconnect($sys_dbhost,$sys_dbuser,$sys_dbpasswd);	}	#return $conn;}/** *  db_query() - Query the database * *  @param		string	SQL statement *  @param		int		How many rows do you want returned *  @param		int		Of matching rows, return only rows starting here */function db_query($qstring,$limit='-1',$offset=0) {	global $QUERY_COUNT,$sys_db_use_replication,$sys_db_is_dirty,		$sys_dbname,$conn,$conn_update,$sys_dbhost,$sys_dbuser,$sys_dbpasswd;	$QUERY_COUNT++;	if ($limit > 0) {		if (!$offset || $offset < 0) {			$offset=0;		}		$qstring=$qstring." LIMIT $offset,$limit";	}	if ($GLOBALS['IS_DEBUG'])		$GLOBALS['G_DEBUGQUERY'] .= $qstring . "<p><br />\n";	//	//are we configured to try to use replication?	//	if ($sys_db_use_replication) {		//		//if we haven't yet done an insert/update, 		//read from the read-only db		//		if (!$sys_db_is_dirty && eregi("^( )*(select)",$qstring)) {			if ($QUERY_COUNT%3==0) {				// 1/3rd of read queries go to master for now				return @mysql_db_query($sys_dbname,$qstring,$conn_update);			} else {				return @mysql_db_query($sys_dbname,$qstring,$conn);			}		} else {			//must be an update/insert/delete query - go to master server			$sys_db_is_dirty=true;			return @mysql_db_query($sys_dbname,$qstring,$conn_update);		}	} else {		return @mysql_db_query($sys_dbname,$qstring,$conn);	}}/** *	db_begin() - Begin a transaction * *	Begin a transaction for databases that support them *	may cause unexpected behavior in databases that don't */function db_begin() {	return db_query("BEGIN WORK");}/** * db_commit() - Commit a transaction * * Commit a transaction for databases that support them * may cause unexpected behavior in databases that don't */function db_commit() {	return db_query("COMMIT");}/** * db_rollback() - Roll back a transaction * * Rollback a transaction for databases that support them * may cause unexpected behavior in databases that don't */function db_rollback() {	return db_query("ROLLBACK");}/** *  db_numrows() - Returns the number of rows in this result set * *  @param		string	Query result set handle */function db_numrows($qhandle) {	// return only if qhandle exists, otherwise 0	if ($qhandle) {		return @mysql_numrows($qhandle);	} else {		return 0;	}}/** *  db_free_result() - Frees a database result properly  * *  @param		string	Query result set handle */function db_free_result($qhandle) {	return @mysql_free_result($qhandle);}/** *  db_reset_result() - Reset a result set. * *  Reset is useful for db_fetch_array sometimes you need to start over * *  @param		string	Query result set handle *  @param		int		Row number */function db_reset_result($qhandle,$row=0) {	return mysql_data_seek($qhandle,$row);}/** *  db_result() - Returns a field from a result set * *  @param		string	Query result set handle *  @param		int		Row number *  @param		string	Field name */function db_result($qhandle,$row,$field) {	return @mysql_result($qhandle,$row,$field);}/** *  db_numfields() - Returns the number of fields in this result set * *  @param		string	Query result set handle */function db_numfields($lhandle) {	return @mysql_numfields($lhandle);}/** *  db_fieldname() - Returns the number of rows changed in the last query * *  @param		string	Query result set handle *  @param		int		Column number */function db_fieldname($lhandle,$fnumber) {	   return @mysql_fieldname($lhandle,$fnumber);}/** *  db_affected_rows() - Returns the number of rows changed in the last query * *  @param		string	Query result set handle */function db_affected_rows($qhandle) {	return @mysql_affected_rows();}/** *  db_fetch_array() - Fetch an array * *  Returns an associative array from  *  the current row of this database result *  Use db_reset_result to seek a particular row * *  @param		string	Query result set handle */function db_fetch_array($qhandle) {	return @mysql_fetch_array($qhandle);}/** *  db_insertid() - Returns the last primary key from an insert * *  @param		string	Query result set handle *  @param		string	Is the name of the table you inserted into *  @param		string	Is the field name of the primary key */function db_insertid($qhandle,$table_name,$pkey_field_name) {	return @mysql_insert_id();}/** *  db_error() - Returns the last error from the database */function db_error() {	return @mysql_error();}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -