私房库视频学习笔记-小清新BBS系统开发技术归纳

自己一直在学习PHP开发,前一段时间在51cto上看到私房库孙胜利老师的视频,下载了他的小清新BBS系统开发视频学习。现在把里面的好的运用收集到这儿。

在看了这套视频后先了解整个web项目开发的过程。

公共配置参数:

<?php
date_default_timezone_set(‘Asia/Shanghai‘);//设置时区
session_start();
header(‘Content-type:text/html;charset=utf-8‘);
if(version_compare(PHP_VERSION,‘5.4.0‘)<0){
    exit(‘您的PHP版本为‘.PHP_VERSION.‘,我们的程序要求是PHP版本不低于5.4.0!‘);
}
define(‘DB_HOST‘,‘localhost‘);
define(‘DB_USER‘,‘root‘);
define(‘DB_PASSWORD‘,‘2015‘);
define(‘DB_DATABASE‘,‘sfkbbs‘);
define(‘DB_PORT‘,3306);
//我们的项目(程序),在服务器上的绝对路径
define(‘SA_PATH‘,dirname(dirname(__FILE__)));
//我们的项目在web根目录下面的位置(哪个目录里面)
define(‘SUB_URL‘,str_replace($_SERVER[‘DOCUMENT_ROOT‘],‘‘,str_replace(‘\\‘,‘/‘,SA_PATH)).‘/‘);
if(!file_exists(SA_PATH.‘/inc/install.lock‘)){
    header(‘Location:‘.SUB_URL.‘install.php‘);
}
?>

mysqli操作数据库的公用库:

<?php
//数据库连接
function connect($host=DB_HOST,$user=DB_USER,$password=DB_PASSWORD,$database=DB_DATABASE,$port=DB_PORT){
    [email protected]_connect($host, $user, $password, $database, $port);
    if(mysqli_connect_errno()){
        exit(mysqli_connect_error());
    }
    mysqli_set_charset($link,‘utf8‘);
    return $link;
}
//执行一条SQL语句,返回结果集对象或者返回布尔值
function execute($link,$query){
    $result=mysqli_query($link,$query);
    if(mysqli_errno($link)){
        exit(mysqli_error($link));
    }
    return $result;
}
//执行一条SQL语句,只会返回布尔值
function execute_bool($link,$query){
    $bool=mysqli_real_query($link,$query);
    if(mysqli_errno($link)){
        exit(mysqli_error($link));
    }
    return $bool;
}
//一次性执行多条SQL语句
/*
 一次性执行多条SQL语句
$link:连接
$arr_sqls:数组形式的多条sql语句
$error:传入一个变量,里面会存储语句执行的错误信息
使用案例:
$arr_sqls=array(
    ‘select * from sfk_father_module‘,
    ‘select * from sfk_father_module‘,
    ‘select * from sfk_father_module‘,
    ‘select * from sfk_father_module‘
);
var_dump(execute_multi($link, $arr_sqls,$error));
echo $error;
*/
function execute_multi($link,$arr_sqls,&$error){
    $sqls=implode(‘;‘,$arr_sqls).‘;‘;
    if(mysqli_multi_query($link,$sqls)){
        $data=array();
        $i=0;//计数
        do {
            if($result=mysqli_store_result($link)){
                $data[$i]=mysqli_fetch_all($result);
                mysqli_free_result($result);
            }else{
                $data[$i]=null;
            }
            $i++;
            if(!mysqli_more_results($link)) break;
        }while (mysqli_next_result($link));
        if($i==count($arr_sqls)){
            return $data;
        }else{
            $error="sql语句执行失败:<br />&nbsp;数组下标为{$i}的语句:{$arr_sqls[$i]}执行错误<br />&nbsp;错误原因:".mysqli_error($link);
            return false;
        }
    }else{
        $error=‘执行失败!请检查首条语句是否正确!<br />可能的错误原因:‘.mysqli_error($link);
        return false;
    }
}
//获取记录数
function num($link,$sql_count){
    $result=execute($link,$sql_count);
    $count=mysqli_fetch_row($result);
    return $count[0];
}
//数据入库之前进行转义,确保,数据能够顺利的入库
function escape($link,$data){
    if(is_string($data)){
        return mysqli_real_escape_string($link,$data);
    }
    if(is_array($data)){
        foreach ($data as $key=>$val){
            $data[$key]=escape($link,$val);
        }
    }
    return $data;
    //mysqli_real_escape_string($link,$data);
}

//关闭与数据库的连接
function close($link){
    mysqli_close($link);
}
?>

时间: 2024-12-29 23:55:01

私房库视频学习笔记-小清新BBS系统开发技术归纳的相关文章

私房库视频学习笔记-小清新BBS系统开发技术归纳三

前台数据展示处理方法: <?php include 'inc/header.inc.php'?><div id="main">    <div class="title">父版块列表</div>    <form method="post">    <table class="list">        <tr>            <

《鸟哥的Linux私房菜》学习笔记(0)

听说Linux已经有很长一段时间了,但是从未系统的学习过Linux.这次把在博客园的处女秀给了Linux,希望能够给自己学习Linux一种坚持的动力,坚持就是胜利,fighting! 在我看来,成为技术大牛之前,写博客主要是对自己所学的东西作以总结,涉及的东西也稍显浅薄,但是却能够为更深一步的学习打下基础,于是我选择了写博客!以前从未写过博客,博客给人第一印象——高大上,现在要写了,顿感压力山大,还好本人的初衷是为了知识的整理,暂时这样安慰一下我自己吧.初期的博客,我想肯定会是非常糟糕的,但是我

韩顺平视频学习笔记-简易qq

1 package myclient; 2 3 import java.net.*; 4 import java.util.Date; 5 import java.text.SimpleDateFormat; 6 import java.awt.event.ActionEvent; 7 import java.awt.event.ActionListener; 8 import java.io.*; 9 import java.awt.*; 10 11 import javax.swing.*;

开源的人工神经网络计算库 FANN 学习笔记 1

开源的人工神经网络计算库 FANN 学习笔记 1 这年头机器学习非常的火,神经网络算是机器学习算法中的比较重要的一种.这段时间我也花了些功夫,学了点皮毛,顺便做点学习笔记. 介绍人工神经网络的基本理论的教科书很多.我正在看的是蒋宗礼教授写的<人工神经网络导论>,之所以选这本书,主要是这本比较薄,太厚的书实在是啃不动.这本书写的也比较浅显,用来入门正合适. 看书的同时也在网上找了找人工神经网络的库代码.感觉 FANN 这个库还不错,就顺道学了学这个库的使用方法. FANN 是个开源的 C 语言实

Spring视频学习笔记(二)

Spring视频学习笔记(二) XML配置里的Bean自动装配(三个来测试实现) /** * Person类 * */ public class Person { private String name; private Address address; private Car car; public String getName() { return name; } public void setName(String name) { this.name = name; } public Ad

《鸟哥的Linux私房菜》学习笔记(2)——Bash特性

bash及其特性: 离用户最近的程序是shell,shell 是外壳的意思,本身也是一种可执行程序.广义上的shell包含两类GUI和CLI. GUI:Gnome,KDE,Xface CLI:sh,csh,ksh,bash,tcsh,zsh 当有多个用户登陆的时候,会有多个进程,进程之间彼此互不相干,因为对于每个进程来说,它只认为当前主机上只有自己和内核存在.但是只有一个shell程序.linux允许一个用户账号登陆多次 . 进程是程序的副本,进程是程序执行的实例,是有生命周期的,由内核进行管理

《Linux多线程服务端编程——使用muduo C++网络库》学习笔记

第一章 线程安全的对象生命期管理 第二章 线程同步精要 第三章 多线程服务器的适用场合与常用编程模型 第四章 C++多线程系统编程精要 1.(P84)11个常用的最基本Pthreads函数: 2个:线程的创建和等待结束(join).封装为muduo::Thread 4个:mutex的创建.销毁.加锁.解锁.封装为muduo::MutexLock 5个:条件变量的创建.销毁.等待.通知.广播.muduo::Condition 2.(P85)不推荐使用读写锁的原因是它往往造成提高性能的错觉(允许多个

《鸟哥的Linux私房菜》学习笔记(1)——文件与目录

在Linux中,任何设备都是文件,不仅如此,连数据通信的接口也有专门的文件负责.可以说,一切皆文件,目录也是一种文件,是路径映射.因此,文件系统是Linux的基础. 一.文件与目录管理命令 1.ls(list)--查看文件与目录命令 在linux中,该命令可能是最多被执行的,因为我们随时要知道文件或者目录的相关信息.ls命令默认显示非隐藏文件的文件名(以文件名进行排序)以及文件名代表的颜色. 命令格式:ls [选项] [目录名] 常用参数: -l(long):列出长字符串,包含文件的属性与权限等

老男孩视频第二部视频学习笔记(第二部)之一:命令(1)

命令:chkconfig  cat ls tail ln find wc tar cut grep egrep 一.如何过滤出已知当前目录下的所有一级目录 如何区分目录和文件:   1.利用颜色(这个依赖与CRT等工具)   2.利用 开头字母 · ls –l | grep ^d (正则表达式中一个字符 在[]中是非,在[]外面就是以什么开头) · ls –lF | grep / · ls –lF | grep /$  小结: 1.通过ls –l 以长格式显示文件属性,然后过滤以d开关的行,就是