本页文章导读:
▪一个简单的php mysql操作类 分享一段php、mysql操作类的代码,供初学的朋友参考。
一个简单的类使用php和mysql数据库连接类,代码:
<?php
/**
* php、mysql连接类
* by www.
*/
//----
/*
include "database.php"; //数据库配置信.........
▪一个好用的php mysql连接类 分享一个php与mysql操作类,代码:
<?php
/**
* mysql操作类
* by www.
*/
// 定义常量
/**
* 是否开启调试模式
*/
define("DEBUG", FALSE);
/**
* 以下变量不要改动
*/
/**
* 设定表的读锁
.........
▪一个php与mysql连接类 代码:
<?php
/**
* desc:mysql操作类
* filename:db.class.php
* by www.
*/
Class db
{
//数据库配置信息
private $Host='localhost';
private $UserName='root';
private $Password='';
private $DbName='dbname';
//根据自.........
[1]一个简单的php mysql操作类
来源: 互联网 发布时间: 2013-12-24
分享一段php、mysql操作类的代码,供初学的朋友参考。
一个简单的类使用php和mysql数据库连接类,代码:
<?php
/**
* php、mysql连接类
* by www.
*/
//----
/*
include "database.php"; //数据库配置信息
$db_host="localhost";
$db_user="user";
$db_pass="user";
$username=$_POST["txtUserName"];
$password=$_POST["txtPassword"];
$dbobj=new db;
$dbobj->db_connect($db_host, $db_user, $db_pass,$db_name);
$query="insert db_user values('$username','$password')";
$result=$dbobj->db_updateData($query);
*/
class db
{
var $query;
var $numrows;
function db_connect($db_host, $db_user, $db_pass,$db_name)
{
global $ln;
global $result;
$db_host1=$db_host;
$db_user1=$db_user;
$db_pass1=$db_pass;
$db_name1=$db_name;
$ln = mysql_connect($db_host1, $db_user1, $db_pass1) or die("cannot connect");
mysql_select_db($db_name1,$ln);
}
function db_selectData($query)
{
global $ln;
global $result;
$this->query=$query;
$result= mysql_query($this->query,$ln);
return $result;
}
function db_deleteData($query)
{
global $ln;
global $result;
$this->query=$query;
$result= mysql_query($this->query,$ln);
return $result;
}
function db_updateData($query)
{
global $ln;
global $result;
$this->query=$query;
$result= mysql_query($this->query,$ln);
return $result;
}
function db_countRows($res)
{
global $ln;
global $result;
$this->numrows = mysql_num_rows($result);
return $this->numrows;
}
function db_close()
{
global $ln;
mysql_close($ln);
}
}
?>
[2]一个好用的php mysql连接类
来源: 互联网 发布时间: 2013-12-24
分享一个php与mysql操作类,代码:
<?php
/**
* mysql操作类
* by www.
*/
// 定义常量
/**
* 是否开启调试模式
*/
define("DEBUG", FALSE);
/**
* 以下变量不要改动
*/
/**
* 设定表的读锁
*/
define("LOCKED_FOR_READ", "READ");
/**
* 设定表的写锁
*/
define("LOCKED_FOR_WRITE", "WRITE");
/**
* HOWTO
*/
class mySQL {
/**
* The connection resource id
*
* @var object
*/
var $connection;
/**
* The selected database
*
* @var object
*/
var $selectedDb;
/**
* The result from a select-query
*
* @var object
*/
var $result;
/**
* Flag that tells if you are connected to the database or not
*
* @var boolean
*/
var $isConnected;
/**
* Flag that tells if you the tables are locked or not
*
* @var boolean
*/
var $isLocked;
/**
*This will indicate what querytype the last query was
*
* @var string
*/
var $queryType;
/**
* This is the constructor of this mysql class.
* It creates a connection to the database, and if possible it sets the database to
* You can specify if you want to use persistant connections or not.
*
* @param string The host to the mySQL server
* @param string The username you use to log on to the mySQL server
* @param string The password you use to log on to the mySQL server
* @param string The name of the database you wish to use
* @param boolean TRUE if you want to use persistant connections. Default is TRUE
* @return boolean TRUE when connection was successfull
* @access public
*/
function mySQL($sHost, $sUser, $sPassword, $sDatabase="", $bPersistant=TRUE) {
$conFunc = "";
if(!defined("DEBUG")) {
define("DEBUG", FALSE);
}
if($this->getConnected()) {
$this->closeConnection();
}
if($this->connection = ($bPersistant ? mysql_pconnect($sHost, $sUser, $sPassword) : mysql_connect($sHost, $sUser, $sPassword))) {
$this->setConnected(TRUE);
if($sDatabase) {
$this->setDb($sDatabase);
}
return TRUE;
} else {
$this->setConnected(FALSE);
return FALSE;
}
}
/**
* This is the destructor of this class. It frees the result of a query,
* it unlocks all locked tables and close the connection to the database
* It does not return anything at all, so you will not know if it was sauccessfull
*
* @access public
*/
function _mySQL() {
if($this->result) {
$this->freeResult();
}
if($this->getLocked()) {
$this->unlock();
}
if($this->getConnected()) {
$this->closeConnection();
}
}
/**
* This function frees the result from a query if there is any result.
*
* @access public
*/
function freeResult() {
if($this->result) {
@mysql_free_result($this->result);
}
}
/**
* This function executes a query to the database.
* The function does not return the result of the query, you must call the
* function getQueryResult() to fetch the result
*
* @param string The query-string to execute
* @return boolean TRUE if the query was successfull
* @access public
*/
function query($query) {
if(strlen(trim($query)) == 0) {
$this->printError("No query got in function query()");
return FALSE;
}
if(!$this->getConnected()) {
$this->printError("Not connected in function query()");
return FALSE;
}
$queryType = substr(trim($query), 0, strpos($query, " "));
$this->setQueryType($queryType);
$this->result = mysql_query($query, $this->connection);
if($this->result) {
return TRUE;
}
return FALSE;
}
/**
* Sets the querytype of the last query executed
* For example it can be SELECT, UPDATE, DELETE etc.
*
* @access private
*/
function setQueryType($type) {
$this->queryType = strtoupper($type);
}
/**
* Returns the querytype
*
* @return string
* @access private
*/
function getQueryType() {
return $this->queryType;
}
/**
* This function returns number of rows got when executing a query
*
* @return mixed FALSE if there is no query-result.
* If the queryType is SELECT then it will use the function MYSQL_NUM_ROWS
* Otherwise it uses the MYSQL_AFFECTED_ROWS
* @access public
*/
function getNumRows() {
if($this->result) {
if(DEBUG==TRUE) {
print("<font background-color: red\">".$this->getQueryType()."</font><br>");
}
return mysql_affected_rows($this->connection);
}
return FALSE;
}
/**
* The function returns the result from a call to the query() function
*
* @return object
* @access public
*/
function getQueryResult() {
return $this->result;
}
/**
* This function returns the query result as an array for each row in the query result
*
* @return array
* @access public
*/
function fetchArray() {
if($this->result) {
return mysql_fetch_array($this->result);
}
return FALSE;
}
/**
* This function returns the query result as an object for each row in the query result
*
* @return object
* @access public
*/
function fetchObject() {
if($this->result) {
return mysql_fetch_object($this->result);
}
return FALSE;
}
/**
* This function returns the query result as an array for each row in the query result
*
* @return array
* @access public
*/
function fetchRow() {
if($this->result) {
return mysql_fetch_row($this->result);
}
return FALSE;
}
/**
* This function sets the database
*
* @return boolean TRUE if the database was set
* @access public
*/
function setDb($sDatabase) {
if(!$this->getConnected()) {
$this->printError("Not connected in function setDb()");
return FALSE;
}
if($this->selectedDb = mysql_select_db($sDatabase, $this->connection)) {
return TRUE;
}
return FALSE;
}
/**
* This function returns a flag so you can see if you are connected to the database
* or not
*
* @return boolean TRUE when connected to the database
* @access public
*/
function getConnected() {
return $this->isConnected;
}
/**
* This function sets the flag so you can see if you are connected to the database
*
* @param $bStatus The status of the connection. TRUE if you are connected,
* FALSE if you are not
* @access public
*/
function setConnected($bStatus) {
$this->isConnected = $bStatus;
}
/**
* The function unlocks tables if there are locked tables and the closes the
* connection to the database.
*
* @access public
*/
function closeConnection() {
if($this->getLocked()) {
$this->unlock();
}
if($this->getConnected()) {
mysql_close($this->connection);
$this->setConnected(FALSE);
}
}
/**
* Unlocks all tables that are locked
*
* @access public
*/
function unlock() {
if(!$this->getConnected()) {
$this->setLocked(FALSE);
}
if($this->getLocked()) {
$this->query("UNLOCK TABLES");
$this->setLocked(FALSE);
}
}
/**
* This function locks the table(s) that you specify
* The type of lock must be specified at the end of the string.
*
* @param string a string containing the table(s) to lock,
* as well as the type of lock to use (READ or WRITE)
* at the end of the string
* @return boolean TRUE if the tables was successfully locked
* @access private
*/
function lock($sCommand) {
if($this->query("LOCK TABLE ".$sCommand)) {
$this->setLocked(TRUE);
return TRUE;
}
$this->setLocked(FALSE);
return FALSE;
}
/**
* This functions sets read lock to specified table(s)
*
* @param string a string containing the table(s) to read-lock
* @return boolean TRUE on success
*/
function setReadLock($sTable) {
return $this->lock($sTable." ".LOCKED_FOR_READ);
}
/**
* This functions sets write lock to specified table(s)
*
* @param string a string containing the table(s) to read-lock
* @return boolean TRUE on success
*/
function setWriteLock($sTable) {
return $this->lock($sTable." ".LOCKED_FOR_WRITE);
}
/**
* Sets the flag that indicates if there is any tables locked
*
* @param boolean The flag that will indicate the lock. TRUE if locked
*/
function setLocked($bStatus) {
$this->isLocked = $bStatus;
}
/**
* Returns TRUE if there is any locked tables
*
* @return boolean TRUE if there are locked tables
*/
function getLocked() {
return $this->isLocked;
}
/**
* Prints an error to the screen. Can be used to kill the application
*
* @param string The text to display
* @param boolean TRUE if you want to kill the application. Default is FALSE
*/
function printError($text, $killApp=FALSE) {
if($text) {
print("<b>Error</b><br />".$text);
}
if($killApp) {
exit();
}
}
/**
* Display any mysql-error
*
* @return mixed String with the error if there is any error.
* Otherwise it returns FALSE
*/
function getMysqlError() {
if(mysql_error()) {
return "<br /><b>Mysql Error Number ".mysql_errno()."</b><br />".mysql_error();
}
return FALSE;
}
}
?>
[3]一个php与mysql连接类
来源: 互联网 发布时间: 2013-12-24
代码:
<?php
/**
* desc:mysql操作类
* filename:db.class.php
* by www.
*/
Class db
{
//数据库配置信息
private $Host='localhost';
private $UserName='root';
private $Password='';
private $DbName='dbname';
//根据自己的实际情况修改
public $link;
public $query;
public $last_error;
function __construct()
{
$this->Connect();
}
function __destruct()
{
$this->Close();
}
private function Connect()
{
//数据库连接
$this->link=mysql_connect($this->Host,$this->UserName,$this->Password) or die("Error Connect to DB");
$this->SetError(mysql_error());
//select db ...
mysql_select_db($this->DbName) ;//or die("Error Select DB");
$this->SetError(mysql_error());
}
public function query($query)
{
//mysql查询
$this->query=mysql_query($query,$this->link);
$this->SetError(mysql_error());
}
public function assoc()
{
//mysql_fetch_assoc :
return mysql_fetch_assoc($this->query);
$this->SetError(mysql_error());
}
public function num()
{
//mysql_num_rows:
return mysql_num_rows($this->query);
$this->SetError(mysql_error());
}
public function result($index=0)
{
//mysql_result :
return mysql_result($this->query,$index);
$this->SetError(mysql_error());
}
private function SetError($error)
{
$this->last_error=$error;
}
public function ShowError()
{
return $this->last_error;
}
private function Close()
{
mysql_close($this->link);
}
}
?>
调用示例:
<?php
// include class :
require_once "db.class.php";
//creat a db object
$con=new db;
//run the query:
$con->query("select * from table ");
//get number of result
echo $con->num() . PHP_EOL;
//get result
echo $con->result(/* $index */) . PHP_EOL;
//get all result
while($row=$con->assoc()) var_dump($row);最新技术文章: