php编写的ACCESS处理类

 更新时间:2016年11月25日 16:11  点击:1490

    在做项目中要用到ACCESS数据库,所以就写了一个ACCESS处理类.函数名跟ADODB类一样.

 



<?php
/*
*ACCESS数据库操作类
*2008-3-26
*LIQUAN
*$dsn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".PATH_ROOT."databasedata.mdb";
*$conn=new Access();
*$conn->Connnect($dsn);
*$conn->GetArray("select * from test");
*/

class Access
{
    
var $conn;
    
var $fieldsName;
    
    
function Access()
    {
   
    }

    
//connection 
    function Connect($dsn)
    {
        
$this->conn = new COM("ADODB.Connection") or die("Cannot start ADO");
        
$this->conn->Open($dsn);
    }

    
//返回一个
    function GetOne($sql)
    {  
       
$rs = $this->conn->Execute($sql);
       
while (!$rs->EOF)
       {
             
$value=$rs->Fields(0)->value;      
          
$rs->MoveNext();
       }
        
$rs->Close();
        
$rs=null;

        
if(!empty($value))
        {
          
return  $value;
        }
        
else
        {
          
return "";
        }
        
unset($value);
    }


   
//返回大数组
    function GetArray($sql)
    {
      
       
$rs = $this->conn->Execute($sql);
       
$num_columns = $rs->Fields->Count();
        
$rowcount = 0;
        
while (!$rs->EOF)
        {
          
for ($i=0$i < $num_columns$i++)
          {
                   
$fieldName[$rowcount][$rs->Fields($i)->name]= $rs->Fields($i)->value;
          }
          
$rowcount++;            
          
$rs->MoveNext();
        }
        
$rs->Close();

        
$rs=null;
        
if(!empty($fieldName))
        {
          
return  $fieldName;
        }
        
else
        {
          
return "";
        }
        
        
unset($fieldName);
    }

    
//返回小数组
    function GetRow($sql)
    {
       
$rs = $this->conn->Execute($sql);
       
$num_columns = $rs->Fields->Count();
        
       
while (!$rs->EOF)
       {
          
for ($i=0$i < $num_columns$i++)
          {
                  
$fieldName[$rs->Fields($i)->name]=$rs->Fields($i)->value;
          }      

          
$rs->MoveNext();
        }
        
$rs->Close();

        
$rs=null;
        
if(!empty($fieldName))
        {
          
return  $fieldName;
        }
        
else
        {
          
return "";
        }
       
unset($fieldName);

    }

    
//execute SQL
    function Execute($sql)
    {
       
if($this->conn->Execute($sql))
       {
         
return true;
       }
       
else
       {
         
return false;
       }
    }

    
function Close()
    {
        
$this->conn->Close();
    }

     
function __destruct()
     {
      
// $this->conn->Close();
     }



}

?>

 

 




更新日期:2008-03-04

受影响系统:

phpMyAdmin phpMyAdmin < 2.11.5

不受影响系统:

phpMyAdmin phpMyAdmin 2.11.5

描述:

BUGTRAQ ID: 28068


phpMyAdmin是用PHP编写的工具,用于通过WEB管理MySQL。


phpMyAdmin使用$_REQUEST而不是$_GET和$_POST变量作为其参数来源,并且在SQL查询中未经过滤便使用了参数,如果用户受骗访问了恶意网站的话,就可能导致SQL注入攻击。


phpMyAdmin:目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.11.5-all-languages.tar.bz2?download




<?php
$d=array(
array("a",-20319),
array("ai",-20317),
array("an",-20304),
array("ang",-20295),
array("ao",-20292),
array("ba",-20283),
array("bai",-20265),
array("ban",-20257),
array("bang",-20242),
array("bao",-20230),
array("bei",-20051),
array("ben",-20036),
array("beng",-20032),
array("bi",-20026),
array("bian",-20002),
array("biao",-19990),
array("bie",-19986),
array("bin",-19982),
array("bing",-19976),
array("bo",-19805),
array("bu",-19784),
array("ca",-19775),
array("cai",-19774),
array("can",-19763),
array("cang",-19756),
array("cao",-19751),
array("ce",-19746),
array("ceng",-19741),
array("cha",-19739),
array("chai",-19728),
array("chan",-19725),
array("chang",-19715),
array("chao",-19540),
array("che",-19531),
array("chen",-19525),
array("cheng",-19515),
array("chi",-19500),
array("chong",-19484),
array("chou",-19479),
array("chu",-19467),
array("chuai",-19289),
array("chuan",-19288),
array("chuang",-19281),
array("chui",-19275),
array("chun",-19270),
array("chuo",-19263),
array("ci",-19261),
array("cong",-19249),
array("cou",-19243),
array("cu",-19242),
array("cuan",-19238),
array("cui",-19235),
array("cun",-19227),
array("cuo",-19224),
array("da",-19218),
array("dai",-19212),
array("dan",-19038),
array("dang",-19023),
array("dao",-19018),
array("de",-19006),
array("deng",-19003),
array("di",-18996),
array("dian",-18977), <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>phpinfo</title>
</head>
<body>
<?
$to = "atoat@sina.com";
$subject = "php-Mail";
$msg = "I completely understand SMTP servers now!";
$headers = "From: atoat@163.comrnReply-To: atoat@163.com";
mail("$to", "$subject", "$msg", "$headers");
echo "finished!";
?>
</body>
</html>

出现的错误:
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for atoat@sina.com in C:webserverhtdocswwwmail.php on line 14

php.ini配置情况

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
sendmail_from = atoat@163.com

已经安装了windows自带的smtp服务

找了好久才发现需要在smtp服务的中继选项中添加本机IP地址

虚拟服务器->属性->访问->中继
选择"仅以下列表"=>"单台计算机"=>添加127.0.0.1的本地地址

程序没有出现问题,但收件箱中没有立即收到信息.

没有收到是因为我的机子是在内网中,不能把邮件发送到外网.

解决方法:在网关做个端口映射,把25端口映射到本机.或者本机有公网IP.

< 最近在做一个项目的时候发现,在php中,如果要对一个数据的某个元素进行赋值的时候,就会报错如:

<?php
$str="222222";
$var=array(
         a
=>"1",
         b
=>$str,
         c
=>""
);
if($var[b]){
       
$var[c]=$var[b];
}
?> 
会提示出错,说明未定义常量。
这种情况有俩个方法可以解决,一就是更改php.ini的配置
修改php.ini,把error_reporting        =        E_ALL改成
error_reporting        =        E_ALL    &    ~E_NOTICE
如果这种不能解决的话,
就把

 替换成


 


<
[!--infotagslink--]

相关文章

  • Powershell实现编写和运行脚本

    本文为那些对学习 Windows PowerShell 命令行和脚本编写环境感兴趣的系统管理员提供了资源。也请告诉我们本网站如何才能对您更有用处。...2020-06-30
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)

    批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30
  • PHP file_get_contents设置超时处理方法

    file_get_contents的超时处理话说,从PHP5开始,file_get_content已经支持context了(手册上写着:5.0.0 Added the context support. ),也就是说,从5.0开始,file_get_contents其实也可以POST数据。今天说的这篇是讲超时的,确实在...2013-10-04
  • C#多线程中的异常处理操作示例

    这篇文章主要介绍了C#多线程中的异常处理操作,涉及C#多线程及异常的捕获、处理等相关操作技巧,需要的朋友可以参考下...2020-06-25
  • postgresql 中的时间处理小技巧(推荐)

    这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-29
  • Python同时处理多个异常的方法

    这篇文章主要介绍了Python同时处理多个异常的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-29
  • C#异常处理中try和catch语句及finally语句的用法示例

    这篇文章主要介绍了C#异常处理中try和catch语句及finally语句的用法示例,finally语句的使用涉及到了C#的垃圾回收特性,需要的朋友可以参考下...2020-06-25
  • python用moviepy对视频进行简单的处理

    这篇文章主要介绍了python如何用moviepy对视频进行简单的处理,帮助大家更好的利用python处理视频,感兴趣的朋友可以了解下...2021-03-11
  • C#异常处理详解

    这篇文章介绍了C#异常处理,有需要的朋友可以参考一下...2020-06-25
  • .htaccess的基本作用及相关语法介绍

    一、.htaccess的基本作用 启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用 如果需要使用.htaccess以外的其他文件名,可以用Ac...2016-01-28
  • 怎么限制Apache日志文件大小(error.log、access.log)

    如何删除error.log、access.log文件以及限制Apache日志文件大小的方法介绍,Apache服务器下access.log以及error.log日志文件一直没有没有动过,今天wordpress 的MYSQL数据库连...2016-01-28
  • sql server日志处理不当造成的隐患详解

    这篇文章主要给大家介绍了关于sql server日志处理不当造成的隐患的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用sql server具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-07-11
  • Spring MVC 处理一个请求的流程

    Spring MVC是Spring系列框架中使用频率最高的部分。不管是Spring Boot还是传统的Spring项目,只要是Web项目都会使用到Spring MVC部分。因此程序员一定要熟练掌握MVC部分。本篇博客简要分析Spring MVC处理一个请求的流程。...2021-02-06
  • go语言中的Carbon库时间处理技巧

    这篇文章主要介绍了go语言中的Carbon库时间处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • C++异常处理入门(try和catch)

    C++ 提供了异常机制,让我们能够捕获运行时错误,本文就详细的介绍了C++异常处理入门,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-09
  • C#事务处理(Execute Transaction)实例解析

    这篇文章主要介绍了C#事务处理(Execute Transaction)实例解析,对于理解和学习事务处理有一定的帮助,需要的朋友可以参考下...2020-06-25
  • php图像处理(缩放、剪裁、缩放、翻转、旋转、透明、锐化)

    本文章来给各同学总结了一些常用的图像处理函数,包括有缩放、剪裁、缩放、翻转、旋转、透明、锐化功能,大家可参考参考。 注意事项:如果要使用php gd处理我们需要...2016-11-25
  • Python编程OpenCV和Numpy图像处理库实现图片去水印

    这篇文章主要介绍了Python编程中如何实现图片去水印本文采用了OpenCV和Numpy的图像处理的方法来实现,文中附含详细示例代码,有需要的朋友可以借鉴参考下...2021-09-26
  • C#处理Access中事务的方法

    这篇文章主要介绍了C#处理Access中事务的方法,涉及C#中事物的实现及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25