私房庫視頻學習筆記-小清新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){
    $link=@mysqli_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);
}
?>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章