惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
U
Unit 42
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Full Disclosure
月光博客
月光博客
Engineering at Meta
Engineering at Meta
博客园_首页
The Register - Security
The Register - Security
G
Google Developers Blog
The Cloudflare Blog
博客园 - Franky
K
Kaspersky official blog
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
NISL@THU
NISL@THU
AI
AI
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Vercel News
Vercel News
T
Tor Project blog
P
Privacy International News Feed
D
Docker
I
Intezer
L
LangChain Blog
P
Proofpoint News Feed
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
博客园 - 聂微东
AWS News Blog
AWS News Blog
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
V
V2EX
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
The Hacker News
The Hacker News
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

博客园 - Voodoo's天空

时间、事件、实践 投票作弊程序制作思路(续)——突破IP限制投票 投票作弊程序制作思路 C#中使用正则表达式清除javascript脚本的方法 迁移SharePoint Portal Server 2003 (sps2003) 需要注意和出现的问题 一年没有更新自己的BLOG了,主要是记录一些从sqlserver导数据到oracle的解决方法 2004年的最后一个POST 开发自定义控件的笔记 (2) 开发自定义控件的笔记(1) 利用ADO中记录集筛选 Smart Client 高级开发 图解Windows历史 非常好的思想 (Design your web pages freely at runtime - by Jasper) 在不同语言中关于CheckBox的处理办法(ASP、JSP、PHP) 一个不完整的OLEDB操作类(自己乱写的,呵呵) Winform的登录窗体设计思路 在应用程序中打开浏览器 周末的中日之战…… 关于值类型和引用类型比较的问题
一个PHP版本的数据库操作类,针对MYSQL的
Voodoo's天空 · 2004-09-15 · via 博客园 - Voodoo's天空

<?php
/*
 *PHP管理MYSQL的数据库类
 使用方法:$dbConn = new DbConn([$数据库名(可选)]);
 允许返回的方法:
  Execute($sql)                            //执行SQL语句,没有返回值;
  getRs($sql)                            //返回查询语句的记录,一条;
  getRsArray($sql)                        //返回记录集数组;
  getGoPageRs($sql,$maxline,$offset)    //返回翻页程序所需要的数组;
  Quit()                                //关闭数据库连接
  getParameter()                        //返回分页以及排序的参数
  getInsertID()                            //返回插入的最后一条记录

 允许返回的属性:
  $num_rows;                            //执行操作的记录集的数量;
  $affected_rows                        //执行操作影响的记录数;
*/

class DbConn{

var $servername="localhost";       // 数据库连接服务地址
var $dbname="xinwei";              // 连接数据库名
var $username = "root";            // 登陆用户
var $password = "";                // 登陆密码
var $conn;                         // 数据库连接指针
var $num_rows;                     // 返回的条目数
var $query_id;                     // 执行query命令的指针
var $affected_rows;                // 传回query命令所影响的列数目
var $insertid;               // 最新插入记录的ID号

//下面是和分页程序有关的变量;
var $offset;                       //分页偏移量
var $maxline = 12;                 //显示行数
var $offset;                       //设置偏移量
var $tpages;                       //总页数
var $total;                        //总记录数



 
function DbConn($dbname=""){ //构造函数,建立数据库连接,可以指定连接到其他数据库
        $this->conn = @mysql_connect($this->servername, $this->username, $this->password) or die(mysql_error("数据库链接失败"));
        
if($dbname!=""){
                $
this->dbname = $dbname;
        }
        
if(!mysql_select_db($this->dbname)){
                $
this->getErr("数据库链接失败");
        }
        
return $this->conn;
 }

 
function Quit(){    //关闭数据库连接
        mysql_close($this->conn);
 }
 
function Execute($sql){
        $query_id 
= $this->query($sql);
        $
this->affected_rows=mysql_affected_rows($this->conn);
        $
this->free_result($query_id);
 }
 
function getRs($sql) {   //只返回一条记录
        $query_id=$this->query($sql);
        $returnarray
=mysql_fetch_array($query_id);
        $
this->num_rows=mysql_num_rows($query_id);
        $
this->free_result($query_id);
        
return $returnarray;
 }
 
function getRsArray($sql) {   //只返回所有记录
        $query_id=$this->query($sql);
        $
this->num_rows=mysql_num_rows($query_id);
        
for($i=0;$i<$this->num_rows;$i++){
                $returnarray[$i]
=mysql_fetch_array($query_id);
        }
        $
this->free_result($query_id);
        
return $returnarray;
 }
/**
 * 调用方式,可以设置$maxline显示的条数,也可以不设置,默认是12条记录,
 * 如果不设置$maxline调用就直接使用 getGopageRs($sql);
 * 否则需要调用 getGopageRs($sql,$maxline);
*/
 
function getGopageRs($sql,$maxline=""){     //返回翻页程序 需要传递sql语句,每页显示条数,以及偏移量
        global $page;
        
if(empty($page)){
                $page
=1;
        }
        
if($maxline!=""){
                $
this->maxline = $maxline;
        }
        $
this->offset = ceil(($page-1)*$this->maxline);

        $query_id
=$this->query($sql);
        $
this->total =mysql_num_rows($query_id); //计算出总记录数
        $this->free_result($query_id);

        $sql
= $sql." LIMIT ".$this->offset.",".$this->maxline;
        $query_id
=$this->query($sql);
        $
this->num_rows=mysql_num_rows($query_id);       //当前页的记录数
        for($i=0;$i<$this->num_rows;$i++){
                $returnarray[$i]
=mysql_fetch_array($query_id);
        }
        $
this->free_result($query_id);

        $
this->tpages = ceil($this->total/$this->maxline); //计算总页数
        return $returnarray;
 }
 
/**
  *参数列表字符串
 
*/
 
function getParameter(){
        global $deferentparameter;
        global $selfvariable;
        global $page;
        $parameter 
= "page=".$page.$selfvariable.$deferentparameter;
        
return $parameter;
        }

 
function getInsertID(){ //得到最新插入的一条记录的自增ID号
    $this->insertid = mysql_insert_id();
    
if (!$this->insertid){
        $
this->getErr("无法得到最新的记录ID!");
    }
    
return $this->insertid; 
 }

 
function query($sql){   // 执行queyr指令
        $this->query_id=@mysql_query($sql,$this->conn);
        
if(!$this->query_id){
        $
this->getErr("错误的SQL语句: ".$sql);
        }
        
return $this->query_id;
 }

 
function num_rows($queryid) { //返回记录数
        $this->num_rows = mysql_num_rows($queryid);
        
return $this->num_rows;
 }
 
function free_result($query_id){  // 释放query资源
        @mysql_free_result($query_id);
 }

   
function getErr($errmsg)  // 数据库出错,无法连接成功
   {
            $msg
="<h3>-数据库错误</h3><br>";
            $msg.
=$errmsg;
            echo $msg;
            die();
   }
}
?>