php 类的写法

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

php 类的写法//Db.class.php
class Db {
    private $_dblink;
    public $result;
    public function __construct($host, $user, $password, $dbname, $charset = 'utf8') {
        try{
            if($this->_dblink = mysql_connect($host, $user, $password)) {
                if(mysql_select_db($dbname)) {
                    $this->query("SET NAMES " . $charset . " ;");
                } else {
                    throw new Exception(mysql_error());
                }
            } else {
                throw new Exception(mysql_error());
            }
        } catch (Exception $e) {
            die($e->getMessage());
        }
    }

    public function query($sql) {
        return $this->result = mysql_query($sql);
    }

    public function fetch() {
        return mysql_fetch_array($this->result);
    }

    public function fetchAll() {
        $rs = array();
        $rsAll = array();
        while($rs = mysql_fetch_array($this->result)) {
            $rsAll[] = $rs;
        }
        return $rsAll;
    }

    public function __destruct() {
        mysql_close($this->_dblink);
    }
}


复制PHP内容到剪贴板PHP代码:
//test.php
$db = new Db('localhost', 'root', '', 'hent_qxoa');
$db->query("SELECT * FROM qx_user ;");
var_dump($db->fetchAll());

 

php 广告点击统计代码,昨天晚上有几个IDC网想与本站合作放些广告,但是我想看看广告效果后想了就写了一个简单的广告统计代码了,这里只是等的统计不能IP限制或是恶心点击等等了.

先来创建数据库.

CREATE TABLE IF NOT EXISTS `ad_count` (
  `ad_id` int(8) NOT NULL auto_increment,
  `ad_hit` int(8) NOT NULL default '0',
  `ad_name` varchar(200) character set gb2312 default NULL,
  `ad_datetime` datetime default NULL,
  `ad_qq` varchar(15) character set gb2312 default NULL,
  `ad_url` varchar(900) character set gb2312 NOT NULL,
  `ad_price` int(8) NOT NULL,
  PRIMARY KEY  (`ad_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

数据创建好了我们就开始写程序了.数据连接我不不写了,

<?php
 require_once("......省了");
 $ad_id =get_value('ad_id','');这里下面有讲
 if(is_numeric( $ad_id ) ){
 
   $ad_select="select ad_id,ad_url from ad_count where ad_id='$ad_id' limit 1";
   
   $ad_update="Update ad_count set  ad_hit=ad_hit+1 where ad_id='$ad_id' limit 1";
   
   $ad_result=mysql_query($ad_select) or die('id error');
   
     if( mysql_num_rows( $ad_result) ){
     
       mysql_query($ad_update);
       
       $ad_rs=mysql_fetch_array($ad_result);
       
       header("location:".$ad_rs['ad_url']);
       
       mysql_free_result($ad_rs);
              
     }
 }

function htmltohtml($Str){
  $temp =str_replace(chr(13),'<br/>',$Str);
  $temp =str_replace('<','&lt;',$Str);
  $temp =str_replace('>','&gt;',$Str);
  $temp =addslashes($Str);
  return $temp;
 }
 function get_value($value,$para){ 
  return htmltohtml(empty($para)?(isset($_GET[$value])?$_GET[$value]:''):(isset($_POST[$value])?$_POST[$value]:''));
 }

然后我们再在要显示广告的地方如下写.

'<a href=/cp/ad_count.php?ad_id=2 target=_blank><img src=/ad_a/ad2.gif border=0 /></a>

就完了了,本站原创,转载请注明来原:  www.111cn.net
?>


<%
dim email
email=request.form("email")
if IsValidEmail(email) then
  if request("action")="退订" then
    response.redirect "del_email.asp?email="&email
  else
    response.redirect "add_email.asp?email="&email
  end if
else
  'response.write "无效的电子邮件格式,请按“后退”按钮,重填一个有效的Email"
  response.write"<SCRIPT language=JavaScript>alert('无效的电子邮件格式,请重填一个有效的Email!');"
  response.write"javascript:history.go(-1)</SCRIPT>"
end if

function IsValidEmail(email)
 dim names, name, i, c
 'Check for valid syntax in an email address.
 IsValidEmail = true
 names = Split(email, "@")
 if UBound(names) <> 1 then
   IsValidEmail = false
   exit function
 end if
 for each name in names
   if Len(name) <= 0 then
     IsValidEmail = false
     exit function
   end if
   for i = 1 to Len(name)
     c = Lcase(Mid(name, i, 1))
     if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
       IsValidEmail = false
       exit function
     end if
   next
   if Left(name, 1) = "." or Right(name, 1) = "." then
      IsValidEmail = false
      exit function
   end if
 next
 if InStr(names(1), ".") <= 0 then
   IsValidEmail = false
   exit function
 end if
 i = Len(names(1)) - InStrRev(names(1), ".")
 if i <> 2 and i <> 3 then
   IsValidEmail = false
   exit function
 end if
 if InStr(email, "..") > 0 then
   IsValidEmail = false
 end if
end function
%>

模板 template.html :
复制PHP内容到剪贴板
PHP代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><%{title}%></title>
</head>
<body>
<%{content}%>
</body>
</html>


生成 generator.php :
复制PHP内容到剪贴板
PHP代码:

<?php
/*
** html静态页面生成模块
*/
$title = "cShare.ORG首页";
$content = "红绿蓝(cShare.ORG),开源软件及自由软件社区.专注于开源软件及自由软件领域,竭力推进中国开源软件及自由软件发展.为软件开发者提供开发平台,为用户带来优秀软件...";
$template = file_get_contents("template.html");  //读取模板
$template = str_replace("<%{title}%>", $title, $template);  //替换标记
$template = str_replace("<%{content}%>", $content, $template);
while(!file_exists("number.txt")) {  //如不存在编号文件,则创建一个并写入初始编号0
 file_put_contents("number.txt",0);
}
$html_number = file_get_contents("number.txt");
$html_number++;
file_put_contents("number.txt",$html_number);
$html_name = "{$html_number}.html";
file_put_contents($html_name, $template);  //生成静态页面
?>

<?php
$hostname = 'localhost';
$dbname = 'test';
$username = 'root';
$pw = 'vivian';
$sqlfile = 'gb.sql';
$sql = file_get_contents($sqlfile);
echo($dbname);
echo($sql);
$conn = mysql_connect($hostname,$username,$pw) or die("无法连接数据库");
mysql_select_db($dbname,$conn) or die("无法连接到数据库");
mysql_query($sql) or die(mysql_error());
?>

复制内容到剪贴板
代码:
-- -----------------------------------------------------------
--
-- Guest Book SQL File for installation
-- $id : gb.sql  1  2008-7-16    iwege  $
--
-- -----------------------------------------------------------
DROP TABLE IF EXISTS gb_comments;
CREATE TABLE gb_comments(
    cid mediumint(8) NOT NULL AUTO_INCREMENT,
    username char(15) NOT NULL DEFAULT 'zero',
    email char(40),
    website varchar(75),
    passdate datetime NOT NULL,
    title varchar(75) NOT NULL,
    message text NOT NULL,
    PRIMARY KEY (cid)
)TYPE=MyISAM DEFAULT CHARSET=gbk;

sql直接在数据库执行的时候是没有问题的,但是如果是使用php文件执行的话,需要去掉第一行的drop 语句。
sql执行的时候test数据库是空的,并没有gb_comments.

请问这个问题是怎么形成的啊?

解决
mysql_query 只能执行一段查询,查询的字串当中不能带分号。
如果要执行多个语句,需要将语句分开。
[!--infotagslink--]

相关文章

  • php svn操作类

    以前我们开发大型项目时都会用到svn来同步,因为开发产品的人过多,所以我们会利用软件来管理,今天发有一居然可以利用php来管理svn哦,好了看看吧。 代码如下 ...2016-11-25
  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • PHP实现递归无限级分类

    在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说就是一段程序代码的重复调用,当把...2015-10-23
  • C#类中static变量用法分析

    这篇文章主要介绍了C#类中static变量用法,实例分析了static变量使用技巧与相关注意事项,需要的朋友可以参考下...2020-06-25
  • mybatis-plus实体类主键策略有3种(小结)

    这篇文章主要介绍了mybatis-plus实体类主键策略有3种(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-27
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • ecshop商品无限级分类代码

    ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
  • PHP实现今天是星期几的几种写法

    复制代码 代码如下: // 第一种写法 $da = date("w"); if( $da == "1" ){ echo "今天是星期一"; }else if( $da == "2" ){ echo "今天是星期二"; }else if( $da == "3" ){ echo "今天是星期三"; }else if( $da == "4"...2013-10-04
  • PHP 一个完整的分页类(附源码)

    在php中要实现分页比起asp中要简单很多了,我们核心就是直接获取当前页面然后判断每页多少再到数据库中利用limit就可以实现分页查询了,下面我来详细介绍分页类实现程序...2016-11-25
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • 详解ES6实现类的私有变量的几种写法

    这篇文章主要介绍了详解ES6实现类的私有变量的几种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-10
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • c#各种Timer类的区别与用法介绍

    System.Threading.Timer 是一个简单的轻量计时器,它使用回调方法并由线程池线程提供服务。在必须更新用户界面的情况下,建议不要使用该计时器,因为它的回调不在用户界面线程上发生...2020-06-25
  • C#学习笔记整理_浅谈Math类的方法

    下面小编就为大家带来一篇C#学习笔记整理_浅谈Math类的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25