Subversion Repositories php-qbpwcf

Rev

Blame | Last modification | View Log | RSS feed

<?php

#指派命名空間
namespace qbpwcf;

#匯入外部套件
include("../allInOne.php");

/*

#提示測試的涵式
echo"<hr>db::getAllIndexKeyInAllDataBase - testCase 1<p>";

#函式說明:
#取得目標資料庫底下所有資料表的索引鍵,可作為foreign key的可用欄位
#回傳的結果:
#$result["status"],執行是否成功"true"為執行成功,"false"為執行失敗。
#$result["error"],執行的錯誤訊息
#$result["indexKey"]["tableName"],index key欄位所屬的資料表陣列
#$result["indexKey"]["columnName"],index key的欄位名稱陣列
#$result["indexKey"]["typeAndLength"],index key的欄位儲存型態與長度限制陣列
#$result["indexKey"]["tableDotColumnName"],index key的 「資料索引鍵所屬資料表名稱.索引鍵欄位名稱」 陣列
#$result["indexKey"]["tableDotColumnVarType"],index key的 「資料索引鍵所屬資料表名稱.索引鍵欄位名稱 儲存變數型別與長度」 陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="test";#爲目標資料表所屬的資料庫
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::getAllIndexKeyInAllDataBase($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 1 <p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]=$dbName;#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="member";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
var_dump($queryResult=db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 2 <p>";
#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#必填的參數:
$conf["dbAddress"]=$dbAddress;
$conf["dbAccount"]=$dbAccount;
$conf["selectedDataBase"]="test";
$conf["selectedDataTable"]="memberDetail";
#可省略的參數:
$conf["dbPassword"]=$dbPassword;
var_dump($queryResult=db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 3 <p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#必填的參數:
$conf["dbAddress"]=$dbAddress;
$conf["dbAccount"]=$dbAccount;
$conf["selectedDataBase"]="test";
$conf["selectedDataTable"]="questionnaireSample";
#可省略的參數:
$conf["dbPassword"]=$dbPassword;
var_dump($queryResult=db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 4 <p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#必填的參數:
$conf["dbAddress"]=$dbAddress;
$conf["dbAccount"]=$dbAccount;
$conf["selectedDataBase"]="test";
$conf["selectedDataTable"]="tracktable100";
#可省略的參數:
$conf["dbPassword"]=$dbPassword;
var_dump($queryResult=db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 5 <p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#必填的參數:
$conf["dbAddress"]=$dbAddress;
$conf["dbAccount"]=$dbAccount;
$conf["selectedDataBase"]="test";
$conf["selectedDataTable"]="test";
#可省略的參數:
$conf["dbPassword"]=$dbPassword;
var_dump(db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 6 <p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#必填的參數:
$conf["dbAddress"]=$dbAddress;
$conf["dbAccount"]=$dbAccount;
$conf["selectedDataBase"]="test";
$conf["selectedDataTable"]="exhibitPosition";
#可省略的參數:
$conf["dbPassword"]=$dbPassword;
var_dump(db::getTableColumnDetailInfo($conf));
unset($conf);

*/
        
/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 7 <p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲0開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲0開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否可以不爲null,"true"爲可以不爲null;"false"爲可以爲"null",$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲0開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲0開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲0開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲0開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲0開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲0開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]=$dbName;#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="questionnaireTurnaroundTime";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
var_dump(db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 8 <p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲0開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲0開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否可以不爲null,"true"爲可以不爲null;"false"爲可以爲"null",$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲0開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲0開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲0開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲0開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲0開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲0開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]=$dbName;#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="questionnaireQuest";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
var_dump(db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumnDetailInfo - testCase 9 <p>";

#新增資料庫dbA
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="dbA";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#在資料庫dbA新增資料表dtA
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="dbA";#要選取的資料庫名稱        
$conf["newDataTableName"]="dtA";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#在資料庫dbA新增資料表dtA為index key的欄位columnA
#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="dbA";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="dtA";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="columnA";#要增加的欄位名稱
$conf["newDataTableColmunType"]="varchar";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="10";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]="index";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#新增資料庫dbB
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="dbB";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#在資料庫dbB新增資料表dtB
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="dbB";#要選取的資料庫名稱        
$conf["newDataTableName"]="dtB";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#在資料庫dbB新增資料表dtB為為foreign key的欄位columnB,其參照資料庫dbA的資料表dtA的欄位columnA.
#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="dbB";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="dtB";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="columnB";#要增加的欄位名稱
$conf["newDataTableColmunType"]="varchar";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="10";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]="foreign key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
$conf["foreignDb"]="dbA";#外鍵參考的資料庫,預設為$conf["selectedDataBaseName"].
$conf["foreignTable"]="dtA";#外鍵參考的資料表
$conf["foreignTableColumn"]="columnA";#外鍵參考的資料表欄位
$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函數名稱.
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否不可爲null,"true"爲不可以爲null;"false"爲可爲"null",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲1開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲1開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]="dbB";#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="dtB";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
#備註:
#如果forign key參照的是別的資料庫,將無法取得參照的資料庫名稱?
$getTableColumnDetailInfo=db::getTableColumnDetailInfo($conf);

#檢示資料表詳細資訊
var_dump($getTableColumnDetailInfo);

#移除dbB dtB columnB欄位的 foreign key
#涵式說明:
#移除資料表單1欄位的外鍵
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["function"],當前執行的函數名稱.
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="dbB";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="dtB";#爲目標資料表所屬的資料庫
$conf["erasedForeignKeyColumnConstraintName"]=$getTableColumnDetailInfo["foreignKey"]["constraintName"]["columnB"];#要移除外鍵欄位的CONSTRAINT名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::eraseForeignKey($conf));
unset($conf);

#移除測試用的資料庫dbA
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="dbA";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

#移除測試用的資料庫dbB
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="dbB";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示正在測試的函數
echo "<hr>db::getTableColumnDetailInfo - testCase 10<p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函數名稱.
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否不可爲null,"true"爲不可以爲null;"false"爲可爲"null",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnComment"][$i],各欄位的註解,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲1開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲1開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]=$dbName;#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="policy";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
#備註:
#如果forign key參照的是別的資料庫,將無法取得參照的資料庫名稱?
var_dump(db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示正在測試的函數
echo "<hr>db::getTableColumnDetailInfo - testCase 11<p>";

/*
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lastUpdatedTime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `test column` char(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'test column',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
*/

/*

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函數名稱.
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否不可爲null,"true"爲不可以爲null;"false"爲可爲"null",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnComment"][$i],各欄位的註解,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲1開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲1開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]="abc";#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="test";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
#備註:
#如果forign key參照的是別的資料庫,將無法取得參照的資料庫名稱?
var_dump(db::getTableColumnDetailInfo($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::getTableColumn - testCase 1<p>";

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲0開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲0開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否不可爲null,"true"爲不可以爲null;"false"爲可爲"null",$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲0開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲0開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲0開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲0開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲0開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲0開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲0開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]=$dbName;#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="memberDetail";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
#備註:
#查詢的功能有點弱,目前用getTableColumnDetailInfo替代
var_dump(db::getDataTableColumn($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::fastGetDbData - testCase 1<p>";

#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]="localhost";#爲dbServer的位置。
$conf["dbAccount"]="root";#爲登入dbServer的帳號。
$conf["dbName"]="test";#爲要存取的資料庫名稱
$conf["tableName"]="tracktable100";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("timestamp","auto","quesnum","seq");#你想要的欄位!
#可省略的參數:
$conf["dbPassword"]="dolbyhometheater";#爲要存取dbServer的密碼
#$conf["WhereColumnName"]=array("");#用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
$conf["orderItem"]="auto";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump(db::fastGetDbData($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::fastGetDbData - testCase 2<p>";
                
#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
$conf["dbName"]=$dbName;#爲要存取的資料庫名稱
$conf["tableName"]="perspective";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("name");#你想要的欄位!
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
$conf["WhereColumnName"]=array("name");#用於判斷語句的欄位項目陣列。
$conf["WhereColumnValue"]=array("觀眾背景");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["orderItem"]="id";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("name");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump(db::fastGetDbData($conf));
unset($conf);

*/

/*
        
#提示測試的涵式
echo"<hr>db::fastGetDbData - testCase 3<p>";    
        
#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]="localhost";#爲dbServer的位置。
$conf["dbAccount"]="root";#爲登入dbServer的帳號。
$conf["dbName"]="test";#爲要存取的資料庫名稱
$conf["tableName"]="tracktable100";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("*");#你想要的欄位!
#可省略的參數:
$conf["dbPassword"]="dolbyhometheater";#爲要存取dbServer的密碼
#$conf["WhereColumnName"]=array("");#用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
$conf["orderItem"]="auto";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump(db::fastGetDbData($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::fastGetDbData - testCase 4<p>";    
        
#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]="localhost";#爲dbServer的位置。
$conf["dbAccount"]="root";#爲登入dbServer的帳號。
$conf["dbName"]="test";#爲要存取的資料庫名稱
$conf["tableName"]="member";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("id","account","password","gender");#你想要的欄位!
#可省略的參數:
$conf["dbPassword"]="dolbyhometheater";#爲要存取dbServer的密碼
$conf["WhereColumnName"]=array("account","address");#用於判斷語句的欄位項目陣列。
$conf["WhereColumnValue"]=array("root","taiwan");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
$conf["orderItem"]="auto";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["whereIn"],二維字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
$conf["whereIn"]=array(array("colName",array("a","b","c")));
#$conf["whereNotIn"],二維字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
$conf["whereNotIn"]=array(array("colName",array("a","b","c")));
var_dump(db::fastGetDbData($conf));
unset($conf);

*/

/*
        
#提示測試的涵式
echo"<hr>db::fastGetMutiLinkedDbData - testCase 1<p>";

#涵式說明:
#透過一個父資料表取得多個關聯子資料表的資料,並合併成一張表
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["parentTable"]["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["parentTable"]["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
$conf["dbAddress"]=array($dbAddress,$dbAddress);#字串陣列,爲每個dbServer的位置。
$conf["dbAccount"]=array($dbAccount,$dbAccount);#字串陣列,爲登入每個dbServer的帳號。
$conf["dbName"]=array($dbName,$dbName);#字串陣列,爲每個要存取的資料庫名稱
$conf["tableName"]=array("questionnaireType","questionnaireTurnaroundTime");#字串陣列,爲每個要存取的資料表名稱
$conf["linkColumnName"]=array(array("typeNo","questionnaireTypeNo"));#二維字串陣列,為可以從父表關連到其他資料表的欄位名稱.
        #$conf["linkColumnName"][$i]=array("parentColumnName","childColumnName"),為父資料表的"parentColumnName"欄位跟第($i-1)個關聯資料表的"childColumnName"關聯.
$conf["columnYouWant"]=array(array("typeNo","title","comments","createTime","editTime"),array("questionnaireTypeNo","turnaroundTime"));#二維字串陣列,為每個資料表依序想要的欄位.
#可省略的參數:
$conf["dbPassword"]=array($dbPassword,$dbPassword);#字串陣列,爲要存取每個dbServer的密碼
#$conf["WhereColumnName"]=array("");#字串陣列,用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("");#字串陣列,用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#字串陣列,用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["orderItem"]="";#字串,排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#字串,要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["numLimit"]="30";#字串,要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array();#字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump(db::fastGetMultiLinkedDbData($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::fastGetMutiLinkedDbData - testCase 2<p>";

#涵式說明:
#透過一個父資料表取得多個關聯子資料表的資料,並合併成一張表
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["parentTable"]["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["parentTable"]["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
$conf["dbAddress"]=array($dbAddress,$dbAddress,$dbAddress);#字串陣列,爲每個dbServer的位置。
$conf["dbAccount"]=array($dbAccount,$dbAccount,$dbAccount);#字串陣列,爲登入每個dbServer的帳號。
$conf["dbName"]=array($dbName,$dbName,$dbName);#字串陣列,爲每個要存取的資料庫名稱
$conf["tableName"]=array("member","userGroupAddMemberAuthorities","userGroupResetPasswordAuthorities");#字串陣列,爲每個要存取的資料表名稱
$conf["linkColumnName"]=array(array("groupName","groupName"),array("groupName","groupName"),array("groupName","groupName"));#二維字串陣列,為可以從父表關連到其他資料表的欄位名稱.
        #$conf["linkColumnName"][$i]=array("parentColumnName","childColumnName"),為父資料表的"parentColumnName"欄位跟第($i-1)個關聯資料表的"childColumnName"關聯.
$conf["columnYouWant"]=array(array("id","account","password","groupName","timestamp"),array("groupName"),array("groupName"));#二維字串陣列,為每個資料表依序想要的欄位.
#可省略的參數:
$conf["dbPassword"]=array($dbPassword,$dbPassword,$dbPassword);#字串陣列,爲要存取每個dbServer的密碼
$conf["WhereColumnName"]=array("account");#字串陣列,用於判斷語句的欄位項目陣列。
$conf["WhereColumnValue"]=array("root");#字串陣列,用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#字串陣列,用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["orderItem"]="";#字串,排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#字串,要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["numLimit"]="30";#字串,要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array();#字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump(db::fastGetMultiLinkedDbData($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::fastGetMutiLinkedDbData - testCase 3<p>";

#涵式說明:
#透過一個父資料表取得多個關聯子資料表的資料,並合併成一張表
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["parentTable"]["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["parentTable"]["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
$conf["dbAddress"]=array($dbAddress,$dbAddress,$dbAddress);#字串陣列,爲每個dbServer的位置。
$conf["dbAccount"]=array($dbAccount,$dbAccount,$dbAccount);#字串陣列,爲登入每個dbServer的帳號。
$conf["dbName"]=array($dbName,$dbName,$dbName);#字串陣列,爲每個要存取的資料庫名稱
$conf["tableName"]=array("member","userGroupAddMemberAuthorities","userGroupResetPasswordAuthorities");#字串陣列,爲每個要存取的資料表名稱
$conf["linkColumnName"]=array(array("groupName","groupName"),array("groupName","groupName"));#二維字串陣列,為可以從父表關連到其他資料表的欄位名稱.
        #$conf["linkColumnName"][$i]=array("parentColumnName","childColumnName"),為父資料表的"parentColumnName"欄位跟第($i-1)個關聯資料表的"childColumnName"關聯.
$conf["columnYouWant"]=array(array("id","account","password","groupName","timestamp"),array("groupName"),array("groupName"));#二維字串陣列,為每個資料表依序想要的欄位.
#可省略的參數:
$conf["dbPassword"]=array($dbPassword,$dbPassword,$dbPassword);#字串陣列,爲要存取每個dbServer的密碼
#$conf["WhereColumnName"]=array("account");#字串陣列,用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("root");#字串陣列,用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#字串陣列,用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["whereIn"],二維字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
$conf["whereIn"]=array(array("groupName",array("guest","webSocket")));
#$conf["whereNotIn"],二維字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["whereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["orderItem"]="";#字串,排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#字串,要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["numLimit"]="30";#字串,要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array();#字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump(db::fastGetMultiLinkedDbData($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::createDatabase & db::dropDatabase<p>";     
                
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/
        
/*

#提示測試的涵式
echo"<hr>db::createDatabase & db::editDataBaseName & db::dropDatabase<p>";      

#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#函式說明:
#更改資料庫的名稱 
#回傳的結果:
#$result,"true"代表執行成功;若失敗會回傳錯誤訊息
#必填的參數:
$conf["editedDatabaseName"]="newDb";#爲要更改的資料庫名稱
$conf["newDatabaseName"]="renamedDb";#新的資料庫名稱
$conf["dbAccount"]=$dbAccount;#爲用於連入資料庫server時要使用的帳號
$conf["dbAddress"]=$dbAddress;#爲資料庫server的位置
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
#參考資料來源:
#http://stackoverflow.com/questions/1708651/how-can-i-change-case-of-database-name-in-mysql
var_dump(db::editDatabaseName($conf));
unset($conf);

#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="renamedDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*
        
#提示測試的涵式
echo"<hr>db::createDataTable & db::dropDataTable<p>";

#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="testTable";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);
        
#函式說明:
#移除表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDatabaseName"]="newDb";#爲要移除的資料表位於哪個資料庫
$conf["dropedDataTableName"]="testTable";#爲要移除的資料表名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDataTable($conf));
unset($conf);

#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="renamedDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*
        
#提示測試的涵式
echo"<hr>db::editTableName<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#更改資料表的名稱. 
#回傳的結果:
#$result["status"],"true"代表執行成功;若失敗會回傳錯誤訊息.
#$result["error"],錯誤訊息.
#必填的參數:
#$conf["editedDataBaseName"],爲要更改的資料表所屬的資料庫名稱.
$conf["editedDataBaseName"]="newDb";
#$conf["editedDataTableName"],爲要更改的資料表原始名稱.
$conf["editedDataTableName"]="test";
#$conf["newDataTableName"],新的資料庫名稱.
$conf["newDataTableName"]="testNew";
#$conf["dbAccount"],爲用於連入資料庫server時要使用的帳號.
$conf["dbAccount"]=$dbAccount;
#conf["dbAddress"],爲資料庫server的位置.
$conf["dbAddress"]=$dbAddress;
#可省略的參數:
#$conf["dbPassword"],爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["dbPassword"]=$dbPassword;
#備註:
#無.
#參考資料來源:
#無.
var_dump(db::editDataTableName($conf));
unset($conf);

#函式說明:
#更改資料表的名稱. 
#回傳的結果:
#$result["status"],"true"代表執行成功;若失敗會回傳錯誤訊息.
#$result["error"],錯誤訊息.
#必填的參數:
#$conf["editedDataBaseName"],爲要更改的資料表所屬的資料庫名稱.
$conf["editedDataBaseName"]="newDb";
#$conf["editedDataTableName"],爲要更改的資料表原始名稱.
$conf["editedDataTableName"]="testNew";
#$conf["newDataTableName"],新的資料庫名稱.
$conf["newDataTableName"]="test";
#$conf["dbAccount"],爲用於連入資料庫server時要使用的帳號.
$conf["dbAccount"]=$dbAccount;
#conf["dbAddress"],爲資料庫server的位置.
$conf["dbAddress"]=$dbAddress;
#可省略的參數:
#$conf["dbPassword"],爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["dbPassword"]=$dbPassword;
#備註:
#無.
#參考資料來源:
#無.
var_dump(db::editDataTableName($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*
        
#提示測試的涵式
echo"<hr>db::addColumn & db::dropColumn - testCase 1<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="testColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="char";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="10";#為新資料表的欄位儲存的長度:
$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="primary key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#函式說明:
#移除資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["removedColumnName"]="testColumn";#要移除的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropColumn($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::addColumn & db::dropColumn - testCase 2<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="testColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="char";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="10";#為新資料表的欄位儲存的長度:
$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="primary key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#函式說明:
#移除資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["removedColumnName"]="testColumn";#要移除的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropColumn($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::addColumn & db::dropColumn - testCase 3<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="testColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="char";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="10";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="primary key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#函式說明:
#移除資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["removedColumnName"]="testColumn";#要移除的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropColumn($conf));
unset($conf);
        
#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);   
        
*/

/*

#提示測試的涵式
echo"<hr>db::addColumn & db::dropColumn - testCase 4<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="testColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="varchar";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="20";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true";#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]="foreign key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
$conf["foreignDb"]="test";#外鍵參考的資料庫
$conf["foreignTable"]="member";#外鍵參考的資料表
$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
$conf["onDeleteAction"]="CASCADE";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#查看資料表結構
#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函數名稱.
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否不可爲null,"true"爲不可以爲null;"false"爲可爲"null",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲1開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲1開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]="newDb";#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="test";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
var_dump(db::getTableColumnDetailInfo($conf));
unset($conf);

#函式說明:
#移除資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["removedColumnName"]="testColumn";#要移除的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropColumn($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);   

*/

/*

#提示測試的涵式
echo"<hr>db::addColumn & db::editColumn - testCase 1<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="testColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="varchar";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="20";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="foreign key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="CASCADE";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#函式說明:
#修改資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料表
$conf["editedColumnName"]="testColumn";#要修改的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
#$conf["newColumnName"]="testColumn4";#要修改成的欄位名稱,預設與$conf["dbInformation"]["editedColumnName"]一樣。
#$conf["newDataTableColmunType"]="int";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
        #text,用來儲存大量的文字,不能作為索引值
$conf["newDataTableColmunLength"]="20";#為新資料表的欄位儲存的長度,""代表不限制長度
#$conf["newDataTableColmunDefault"]="";#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位是否不能NULL:
        #"true"代表不能為null,
        #"false"代表可以為null。
#$conf["newDataTableColmunAutoAdd"]="true";#為新資料表的欄位是否自動+1
$conf["foreignKeyDb"]="test";#外鍵參考的資料庫
$conf["newDataTableColmunKeyType"]="foreign key";#為該欄位的鍵屬性:""為移除鍵的設定、"primary key"爲主鍵、"index"爲索引鍵、"foreign key"為外鍵
$conf["foreignKeyReferenceTable"]="member";#若要設定foreign key的話,則要提供參考的資料表
$conf["foreignKeyReferenceColumn"]="account";#若要設定foreign key的話,則要提供參考的資料表欄位
$conf["foreignKeyUpdateAction"]="CASCADE";#若要設定foreign key的話,可以指定參考的資料表欄位更新時該欄位該怎麼處理,預設為"CASCADE",會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
$conf["foreignKeyDeleteAction"]="CASCADE";#若要設定foreign key的話,可以指定參考的資料表欄位移除時該欄位該怎麼處理,預設為"SET NULL",會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#備註:
var_dump($result=db::editColumn($conf));
unset($conf);

#函式說明:
#移除資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["removedColumnName"]="testColumn";#要移除的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropColumn($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);   

*/

/*

#提示測試的涵式
echo"<hr>db::backupDatabase<p>";

#涵式說明:
#備份資料庫
#回傳的結果:
#$result["status"],"true"代表執行正常,"false"代表執行有誤.
#$result["sqlAddress"],sql檔案的位置.
#必填的參數:
#必填的參數說明:
$conf["backedDatabaseName"]=$dbName;#爲要備份的資料庫名稱
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["storePlace"]="dbT";#要將輸出檔案儲存到哪邊,預設爲當前目錄
#$conf["exportFileName"]="export";#要輸出的檔案名稱,預設爲其export
var_dump($exportSqlResult=db::backupDatabase($conf));
unset($conf);

#移除sql檔案
unlink($exportSqlResult["sqlAddress"]);

*/

/*

#提示測試的涵式
echo"<hr>db::addColumn & db::insertData & db::fastGetDbData & db::updateDataTableContent & db::dropColumn<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#$conf["dbPort"],字串,為連線到mysql-Server時對應的port,預設為3306.
$conf["dbPort"]="3306";
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="testColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="varchar";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="20";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="foreign key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="CASCADE";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="changeed";#要增加的欄位名稱
$conf["newDataTableColmunType"]="varchar";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="6";#為新資料表的欄位儲存的長度:
$conf["newDataTableColmunDefault"]="false";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="foreign key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="CASCADE";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="time";#要增加的欄位名稱
$conf["newDataTableColmunType"]="int";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="10";#為新資料表的欄位儲存的長度:
$conf["newDataTableColmunDefault"]=time()."";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="foreign key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="CASCADE";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#涵式說明:
#插入資料到指定的資料表裡面,插入資料完畢可以選擇是否要進行轉址。
#回傳的數值:     
#$result["status"],爲查詢是否成功,若爲0則成功,若爲1則表示失敗了.
#$result["error"],錯誤訊息.
#$result["sql"],執行的sql語法.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["tableName"]="test";#爲要插入資料的資料表名稱
$conf["columnName"]=array("changeed","time");#爲資料表的項目名稱,
        #例如:$conf["columnName"]=array("columnName1","columnName2","columnName3",...);
$conf["insertValue"]=array("false","1111111111");#爲要插入度數值,
        #例如:$conf["insertValue"]=array("insertValue1","insertValue2","insertValue3",...);
#可以省略的變數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::insertData($conf));
unset($conf);

#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
$conf["dbName"]="newDb";#爲要存取的資料庫名稱
$conf["tableName"]="test";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("id","changeed","time");#你想要的欄位!
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
$conf["WhereColumnName"]=array("changeed");#用於判斷語句的欄位項目陣列。
$conf["WhereColumnValue"]=array("false");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["orderItem"]="auto";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump($db["fastGetDbData"]=db::fastGetDbData($conf));
unset($conf);

#函式說明:  
#更新資料表裏面的資料
#回傳的結果:       
#$result["status"],爲查詢是否成功,若爲0則成功,若爲1則表示失敗了
#$result["error"],錯誤訊息
#$result["sql"],執行的sql語法.
#必填的參數:
#$conf["fileArgu"],字串,變數__FILE__的內容.
$conf["fileArgu"]=__FILE__;
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["tableName"]="test";#要修改的資料表名稱
$conf["whereColumn"]=array("id");#爲用來判斷要更新的哪筆資料的欄位名稱,須爲陣列值
$conf["whereValue"]=array($db["fastGetDbData"]["dataContent"]["id"][0]);#為用來判斷是要更新哪筆資料的欄位對應數值,須爲陣列值
$conf["tableColumnName"]=array("changeed","time");#資料表項目的名稱陣列
$conf["updateDataValue"]=array("true","1234567890");#要更改成對應資料表項目的內容,須為陣列值
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::updateDataTableContent($conf));
unset($conf);

#函式說明:
#移除資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["removedColumnName"]="changeed";#要移除的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropColumn($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr>db::checkDataTableExists<p>";

#函式說明:
#檢查資料表是否存在
#回傳的結果:
#設置執行錯誤的識別
#$result["status"],"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息
#$result["founded"],是否有有找到相同的,"true"代表有找到符合的資料;"false"代表沒有符合的資料
#其餘的結果代表參數不正確
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]=$dbName;#爲指定的資料庫名稱
$conf["selectedDataTableName"]="test";#為要檢查是否存在的資料表名稱
#可省略的參數
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼 
var_dump(db::checkDataTableExists($conf));
unset($conf);

*/

/*

#提示測試的涵式
echo"<hr> db::addColumn & db::insertData & db::findUsableNumber & db::dropColumn<p>";

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="intColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="int";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="5";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="primary key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#新增三筆資料
for($i=1;$i<=3;$i++){

        #涵式說明:
        #插入資料到指定的資料表裡面,插入資料完畢可以選擇是否要進行轉址。
        #回傳的數值:     
        #$result["status"],爲查詢是否成功,若爲0則成功,若爲1則表示失敗了.
        #$result["error"],錯誤訊息.
        #$result["sql"],執行的sql語法.
        #必填的參數:
        $conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
        $conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
        $conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
        $conf["tableName"]="test";#爲要插入資料的資料表名稱
        $conf["columnName"]=array("intColumn");#爲資料表的項目名稱,
                #例如:$conf["columnName"]=array("columnName1","columnName2","columnName3",...);
        $conf["insertValue"]=array($i);#爲要插入度數值,
                #例如:$conf["insertValue"]=array("insertValue1","insertValue2","insertValue3",...);
        #可以省略的變數:
        $conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
        var_dump(db::insertData($conf));
        unset($conf);
        
        }#for end

#涵式說明:
#尋找特定資料庫裏特定資料表裏面特定欄位有無可用整數編號,可以指定數字的起點與終點,此函式會回傳可用的編號。
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
#$result["error"],錯誤訊息陣列 
#$result["founded"],爲搜尋可以用的數字是否成功,"true"表示成功,"false"表示失敗.
#$result["usableNumber"],爲可用的整數。
#$result["sql"],執行的sql語法.
#必填的參數
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲要檢查的資料庫名稱
$conf["checkDataTableName"]="test";#爲要檢查的資料表名稱
$conf["conditionTargetName"]="intColumn";#用來判斷的資料表數值名稱
$conf["startPoint"]="1";#要執行的迴圈起點(資料的起始檢查點),須為整數.
$conf["endPoint"]="9";#要執行的迴圈終點(資料的結束檢查點),須為整數.
#可省略的參數
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
#$conf["otherConditionTargetName"]=array();#查詢欄位項目可用數值的其它條件欄位名稱,爲陣列值。
        #須搭配 $conf["otherConditionTargetValue"] 一起使用
#$conf["otherConditionTargetValue"]=array();#查詢欄位項目可用數值的其它條件欄位數值,爲陣列值。
        #須搭配 $conf["otherConditionTargetName"] 一起使用
var_dump(db::findUsableNumber($conf));
unset($conf);

#函式說明:
#移除資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["removedColumnName"]="intColumn";#要移除的欄位名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropColumn($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/ 

/*

#提示要測試的函式
echo "<hr>db::getDataCountsInTable<p>";

#函式功能簡介:
#取得該資料表總共有幾筆資料
#回傳的變數:
#$result["status"],爲執行是否正常,若爲"true"則成功,若爲"false"則表示失敗了
#$result["error"],錯誤訊息
#$result["dataCount"],資料表裏面的資料筆數。
#必填寫的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]=$dbName;#要選取的資料庫名稱      
$conf["selectedDataTableName"]="member";#為要計算的對象資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::getDataCountsInTable($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::exportTableToCsv - testCase 1<p>";

#函式說明:
#將資料表輸出成csv檔案
#回傳的結果:
#$result["status"],執行是否正常,"true"代表執行正常,"false"代表執行失敗.
#$result["error"],錯誤訊息
#$result["csvFile"],輸出的csv檔案位置與名稱.
#必填的參數:
#$conf["dbAddress"],字串,欲連線的mariadb/mysql伺服器IP/domainName位置.
$conf["dbAddress"]=$dbAddress;
#$conf["dbAccount"],字串,連線到mariadb/mysql所用的帳戶.
$conf["dbAccount"]=$dbAccount;
#$conf["dbName"],字串,目標資料表位於哪個資庫底下.
$conf["dbName"]=$dbName;
#$conf["dtName"],字串,目標資料表的名稱.
$conf["dtName"]="member";
#可省略的參數:
#$conf["dbPassword"],字串,連線到mariadb/mysql伺服器時所使用的密碼,若未設置則代表不使用密碼來連線.
$conf["dbPassword"]=$dbPassword;
#$conf["column"],陣列,要的欄位名稱,預設為「array(*)」代表所有欄位都要, 
#$conf["column"]=array("*");
#$conf["outPutPathAndName"],字串,輸出的csv檔案要存放在哪裡..
$conf["outPutPathAndName"]="csvT/dbT-exportTableToCsv";
#$conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
var_dump(db::exportTableToCsv($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::exportTableToCsv - testCase 2<p>";

#函式說明:
#將資料表輸出成csv檔案
#回傳的結果:
#$result["status"],執行是否正常,"true"代表執行正常,"false"代表執行失敗.
#$result["error"],錯誤訊息
#$result["csvFile"],輸出的csv檔案位置與名稱.
#必填的參數:
#$conf["dbAddress"],字串,欲連線的mariadb/mysql伺服器IP/domainName位置.
$conf["dbAddress"]=$dbAddress;
#$conf["dbAccount"],字串,連線到mariadb/mysql所用的帳戶.
$conf["dbAccount"]=$dbAccount;
#$conf["dbName"],字串,目標資料表位於哪個資庫底下.
$conf["dbName"]=$dbName;
#$conf["dtName"],字串,目標資料表的名稱.
$conf["dtName"]="tracktable98";
#可省略的參數:
#$conf["dbPassword"],字串,連線到mariadb/mysql伺服器時所使用的密碼,若未設置則代表不使用密碼來連線.
$conf["dbPassword"]=$dbPassword;
#$conf["column"],陣列,要的欄位名稱,預設為「array(*)」代表所有欄位都要, 
#$conf["column"]=array("*");
#$conf["WhereColumnName"],陣列,篩選用的特定欄位
#$conf["WhereColumnName"]=array("quesnum");
#$conf["WhereColumnValue"],陣列,篩選用特定欄位的數值要等於多少才是我們要的.
#$conf["WhereColumnValue"]=array("1");
#$conf["groupBy"],陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆).
$conf["groupBy"]=array("quesnum");
#$conf["orderItem"],字串,爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
$conf["orderItem"]="quesnum";#
#$conf["ascORdesc"],字串,爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
$conf["ascORdesc"]="asc";
#$conf["outPutPathAndName"],字串,輸出的csv檔案要存放在哪裡..
$conf["outPutPathAndName"]="csvT/dbT-exportTableToCsv-testCase2";
#$conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
var_dump(db::exportTableToCsv($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::exportTableToCsv - testCase 3<p>";

#函式說明:
#將資料表輸出成csv檔案
#回傳的結果:
#$result["status"],執行是否正常,"true"代表執行正常,"false"代表執行失敗.
#$result["error"],錯誤訊息
#$result["csvFile"],輸出的csv檔案位置與名稱.
#必填的參數:
#$conf["dbAddress"],字串,欲連線的mariadb/mysql伺服器IP/domainName位置.
$conf["dbAddress"]=$dbAddress;
#$conf["dbAccount"],字串,連線到mariadb/mysql所用的帳戶.
$conf["dbAccount"]=$dbAccount;
#$conf["dbName"],字串,目標資料表位於哪個資庫底下.
$conf["dbName"]=$dbName;
#$conf["dtName"],字串,目標資料表的名稱.
$conf["dtName"]="tracktable98";
#可省略的參數:
#$conf["dbPassword"],字串,連線到mariadb/mysql伺服器時所使用的密碼,若未設置則代表不使用密碼來連線.
$conf["dbPassword"]=$dbPassword;
#$conf["column"],陣列,要的欄位名稱,預設為「array(*)」代表所有欄位都要, 
#$conf["column"]=array("*");
#$conf["WhereColumnName"],陣列,篩選用的特定欄位
$conf["WhereColumnName"]=array("quesnum");
#$conf["WhereColumnValue"],陣列,篩選用特定欄位的數值要等於多少才是我們要的.
$conf["WhereColumnValue"]=array("10");
#$conf["groupBy"],陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆).
#$conf["groupBy"]=array("quesnum");
#$conf["orderItem"],字串,爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
$conf["orderItem"]="seq";#
#$conf["ascORdesc"],字串,爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
$conf["ascORdesc"]="asc";
#$conf["outPutPathAndName"],字串,輸出的csv檔案要存放在哪裡..
$conf["outPutPathAndName"]="csvT/dbT-exportTableToCsv-testCase3";
#$conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
var_dump(db::exportTableToCsv($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::eraseDataInTableThenResetAutoIncrement<p>"; 

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="intColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="int";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="5";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="primary key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#新增三筆資料
for($i=1;$i<=3;$i++){

        #涵式說明:
        #插入資料到指定的資料表裡面,插入資料完畢可以選擇是否要進行轉址。
        #回傳的數值:     
        #$result["status"],爲查詢是否成功,若爲0則成功,若爲1則表示失敗了.
        #$result["error"],錯誤訊息.
        #$result["sql"],執行的sql語法.
        #必填的參數:
        $conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
        $conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
        $conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
        $conf["tableName"]="test";#爲要插入資料的資料表名稱
        $conf["columnName"]=array("intColumn");#爲資料表的項目名稱,
                #例如:$conf["columnName"]=array("columnName1","columnName2","columnName3",...);
        $conf["insertValue"]=array($i);#爲要插入度數值,
                #例如:$conf["insertValue"]=array("insertValue1","insertValue2","insertValue3",...);
        #可以省略的變數:
        $conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
        var_dump(db::insertData($conf));
        unset($conf);
        
        }#for end

#涵式說明:
#透過一筆筆將資料表刪除後,重設識別欄位的自動增量欄位起始值為1
#回傳的結果:
#$result["status"],執行是否正常,"true"代表執行正常,"false"代表執行失敗.
#$result["error"],錯誤訊息.
#$result["function"],當前執行的函數名稱.
#$result["sql"],執行的sql語法陣列.
#必填參數:
#$conf["dbAddress"],字串,連線到資料庫的位置.
$conf["dbAddress"]=$dbAddress;
#$conf["dbAccount"],字串,連線到資料庫的帳號.
$conf["dbAccount"]=$dbAccount;
#$conf["dbName"],字串,要連線到哪個資料庫.
$conf["dbName"]="newDb";
#$conf["dtName"],字串,要重設重設識別欄位的自動增量為0的資料表名稱.
$conf["dtName"]="test";
#可省略參數:
#$conf["dbPassword"],字串,連線到資料庫的密碼.
$conf["dbPassword"]=$dbPassword;
#參考資料:
#http://dev.mysql.com/doc/refman/5.0/en/alter-table.html
#參考語法:
#ALTER TABLE dbName.dtName AUTO_INCREMENT = 1;
#備註:
#建構中
var_dump(db::eraseDataInTableThenResetAutoIncrement($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::emptyTable<p>"; 

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="intColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="int";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="5";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
#$conf["newDataTableColmunKeyType"]="primary key";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#新增三筆資料
for($i=1;$i<=3;$i++){

        #涵式說明:
        #插入資料到指定的資料表裡面,插入資料完畢可以選擇是否要進行轉址。
        #回傳的數值:     
        #$result["status"],爲查詢是否成功,若爲0則成功,若爲1則表示失敗了.
        #$result["error"],錯誤訊息.
        #$result["sql"],執行的sql語法.
        #必填的參數:
        $conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
        $conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
        $conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
        $conf["tableName"]="test";#爲要插入資料的資料表名稱
        $conf["columnName"]=array("intColumn");#爲資料表的項目名稱,
                #例如:$conf["columnName"]=array("columnName1","columnName2","columnName3",...);
        $conf["insertValue"]=array($i);#爲要插入度數值,
                #例如:$conf["insertValue"]=array("insertValue1","insertValue2","insertValue3",...);
        #可以省略的變數:
        $conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
        var_dump(db::insertData($conf));
        unset($conf);
        
        }#for end

#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
$conf["dbName"]="newDb";#爲要存取的資料庫名稱
$conf["tableName"]="test";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("id","intColumn");#你想要的欄位!
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
#$conf["WhereColumnName"]=array("changeed");#用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("false");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["orderItem"]="auto";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump($db["fastGetDbData"]=db::fastGetDbData($conf));
unset($conf);

#涵式說明:
#清空資料表儲存的資料
#回傳的結果:
#$result["status"],執行成功與否,"true"代表執行成功;"fasle"代表執行失敗
#$result["error"],錯誤訊息
#$result["function"],當前執行的涵式.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dbName"]="newDb";#爲目標資料表所屬的資料庫
$conf["dtName"]="test";#爲要移除的資料表名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
#參考資料來源:
#https://dev.mysql.com/doc/refman/5.0/en/truncate-table.html
var_dump(db::emptyTable($conf));
unset($conf);

#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
$conf["dbName"]="newDb";#爲要存取的資料庫名稱
$conf["tableName"]="test";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("id","intColumn");#你想要的欄位!
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
#$conf["WhereColumnName"]=array("changeed");#用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("false");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["orderItem"]="auto";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
var_dump($db["fastGetDbData"]=db::fastGetDbData($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::getDataTableSpecificColumn<p>"; 
        
#函式說明:
#取得資料表內特定欄位的資訊
#回傳的內容:
#$result["status"],"true"代表執行成功;"false"代表執行失敗.
#$result["error"],錯誤訊息.
#$result["function"],當前執行的函數名稱.
#$result["columnInfo"]["name"],欄位的名稱.
#$result["columnInfo"]["type"],欄位的儲存型態.
#$result["columnInfo"]["length"],欄位的長度限制.
#$result["columnInfo"]["null"],欄位是否可以為null.
#$result["columnInfo"]["key"],索引鍵的名稱.
#$result["columnInfo"]["keyType"],欄位的鍵屬性.
#$result["columnInfo"]["foreignKeyConstraintName"],外建的名稱
#$result["columnInfo"]["referencesTable"],外鍵參考的資料表.
#$result["columnInfo"]["referencesColumn"],外鍵參考的資料表欄位.
#$result["columnInfo"]["onUpdateAction"],當參考的欄位更新時,要怎麼因應.
#$result["columnInfo"]["onDeleteAction"],當參考的欄位資料消失時,要怎麼因應.
#$result["columnInfo"]["default"],欄位的預設內容.
#$result["columnInfo"]["columnCharacterSet"],欄位的字元集.
#$result["columnInfo"]["columnCollate"],欄位的校對編碼.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dbName"]=$dbName;#爲指定的資料庫名稱
$conf["dtName"]="memberDetail";#為要檢視的資料表名稱
$conf["columnName"]="account";#為要檢視的資料欄位名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::getDataTableSpecificColumn($conf));
unset($conf);

*/
        
/*

#提示要測試的函式
echo "<hr>db::getDataTableList<p>"; 

#查詢特定資料庫裡的資料表列表,會回傳查詢的結果
#$result["status"],執行是否成功,"true"代表執行成功;"false"代表執行失敗。
#$result["error"],執行錯誤的訊息.
#$result["function"],當前執行的函式名稱.
#$result["connectInformation"],爲回傳的mysql連線資訊。
#$result["tableName"] 爲查詢的資料庫名稱陣列,
        #第一筆資料庫名稱爲$result["tableName"][0],
        #第二筆資料庫名稱爲$result["tableName"][1],
        #其餘以此類推。
#$result["dataCounts"] 爲資料表的總筆數
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]=$dbName;#爲指定的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
#原始語法:
#show tables FROM databaseName,代表檢視databaseName裡面的資料表清單。
var_dump(db::getDataTableList($conf));
unset($conf);
        
*/      

/*

#提示要測試的函式
echo "<hr>db::getDataBaseList<p>"; 

#查詢所有的資料庫列表,會回傳查詢的結果
#$result["status"],執行是否正常,"true"為正常,"fasle"為不正常
#$result["error"],爲錯誤訊息
#$result["function"],當前執行的函數名稱
#$result["dbName"] 爲查詢的資料庫名稱陣列,第一筆資料庫名稱爲$result["dbName"][0],第二筆資料庫名稱爲$result["dbName"][1],其餘以此類推。
#$result["dbCounts"] 爲資料庫的總筆數   
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::getDataBaseList($conf));
unset($conf);
        
*/      

/*

#提示要測試的函式
echo "<hr>db::eraseIndexKey - testCase 1<p>"; 

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#函式說明:
#新增資料表的欄位
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql內容
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["addedColumnName"]="intColumn";#要增加的欄位名稱
$conf["newDataTableColmunType"]="int";#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數.
        #double,用來儲存有小數點的數值.
        #timestamp,用來儲存時間.
        #char,用來儲存任何東西,儲存成字元,最大長限制為255.
        #tinytext,儲存長度限制為255,根據實際使用大小來調整儲存大小.
        #text,儲存大量文字,不能當索引鍵.
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["newDataTableColmunLength"]="5";#為新資料表的欄位儲存的長度:
#$conf["newDataTableColmunDefault"]="十位數數字";#為該欄位的預設值
#currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #以外的內容視為指定的數值
#$conf["newDataTableColmunNotNull"]="true";#為新資料表的欄位不可為NULL:
        #"true"代表不能為null.
        #"false"代表可以為null.
#$conf["newDataTableColmunAutoAdd"]="true"#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]="index";#為該欄位的鍵屬性:"primary key"爲主鍵、"index"爲索引鍵、"foreign key"爲外鍵
#$conf["foreignTable"]="member";#外鍵參考的資料表
#$conf["foreignTableColumn"]="account";#外鍵參考的資料表欄位
#$conf["onUpdateAction"]="CASCADE";#當外鍵參考的欄位資料修改時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#$conf["onDeleteAction"]="SET NULL";#當外鍵參考的欄位資料移除時,外鍵要如何回應?"CASCADE"會將有所關聯的紀錄行也會進行刪除或修改。"SET NULL"代表會將有所關聯的紀錄行設定成 NULL。"NO ACTION"代表有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
#參考資料來源:
#儲存型態=>https://mariadb.com/kb/en/data-types/
var_dump(db::addColumn($conf));
unset($conf);

#涵式說明:
#取得資料表所有欄位的詳細資訊
#回傳的內容:
#$result["status"],執行結果,"true"代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["function"],當前執行的函數名稱.
#$result["sql"],執行的sql語法
#$result["oriInput"],原始的資料表欄位資訊
#$result["everyLine"],逐行的欄位資訊
#$result["tableName"],當前查詢的資料表名稱
#$result["engine"],資料表使用的儲存引擎
#$result["charset"],資料表預設的編碼
#$result["columnName"][$i],各欄位的名稱陣列,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarTypeAndLengthLimit"][$i],各欄位儲存的變數形態與長度限制,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnVarType"][$i],各欄位變數儲存的型態,$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnVarLengthLimit"][$i],個欄位變數的長度限制,若不存在其限制,則為"",$i爲1開始的數字,也可以使用欄位的名稱.
#$result["columnNotNull"][$i],各欄位是否不可爲null,"true"爲不可以爲null;"false"爲可爲"null",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnAutoIncrement"][$i],各欄位是否會自動加1,"true"爲會;"false"爲不會,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnDefault"][$i],各欄位的預設內容,若無則爲"沒有指定",$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnOnUpdateAction"][$i],當資料有修改時,該欄位的內容要怎麼因應,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCharacterSet"][$i],各欄位使用的CharacterSet,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["columnCollate"][$i],各欄位使用的Collate,$i爲1開始的數字,也可以使用欄位的名稱。
#$result["key"]["exist"],該資料表是否有索引鍵,"true"代表有;"false"代表沒有。
#$result["key"][$j],該資料表的索引鍵陣列,$j爲0開始的數字,也可以使用欄位的名稱。
#$result["keyConstraintName"][$j],該資料表用於識別索引鍵的CONSTRAINT名稱陣列,$j爲1開始的數字,也可以使用欄位的名稱。
#$result["primaryKey"],該資料表的主鍵
#$result["foreignKey"]["exist"],該資料表是否有foreign key,"true"代表有;"fasle"代表沒有。
#$result["foreignKey"]["constraintName"][$k],用來識別外鍵的CONSTRAINT名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["columnName"][$k],外鍵的名稱陣列,$k爲1開始的數字,也可以使用欄位的名稱。
#$result["foreignKey"]["referencesTable"][$k],外鍵參照的欄位,$k爲1開始的數字,,也可用欄位的名稱來找value.
#$result["foreignKey"]["referencesColumn"][$k],外鍵參照的欄位屬於哪個資料表,$k爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onUpdateAction"][$i],當參照的欄位資料更新時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#$result["foreignKey"]["onDeleteAction"][$i],當參照的欄位資料移除時,會怎麼同步,$i爲1開始的數字,也可用欄位的名稱來找value.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#資料庫的網路位置
$conf["dbAccount"]=$dbAccount;#連線到資料庫要用的帳號
$conf["selectedDataBase"]="newDb";#連線到資料庫要選擇的資料庫
$conf["selectedDataTable"]="test";#連線到資料庫要檢視的資料表
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#連線到資料庫要用的密碼
#備註:
#查詢的功能有點弱,目前用getTableColumnDetailInfo替代
$getDataTableColumn=db::getDataTableColumn($conf);
unset($conf);

#檢示內容
var_dump($getDataTableColumn);

#涵式說明:
#移除資料表單1欄位的索引鍵
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="test";#爲目標資料表所屬的資料庫
$conf["erasedIndexKeyColumnConstraintName"]=$getDataTableColumn["keyConstraintName"]["intColumn"];#要移除外鍵欄位的CONSTRAINT名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::eraseIndexKey($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/      

/*

#提示要測試的函式
echo "<hr>db::eraseIndexKey - testCase 2<p>";

#涵式說明:
#移除資料表單1欄位的索引鍵
#回傳的結果:
#$result["status"],"true",代表執行成功;"false"代表執行失敗
#$result["error"],錯誤訊息陣列
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="test";#爲目標資料表所屬的資料庫
$conf["selectedDataTableName"]="policy";#爲目標資料表所屬的資料庫
$conf["erasedIndexKeyColumnConstraintName"]="name_2";#要移除外鍵欄位的CONSTRAINT名稱
#可省略的參數: 
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::eraseIndexKey($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::deleteDataFromTable<p>"; 

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#新增六筆資料
for($i=1;$i<7;$i++){
        
        #涵式說明:
        #插入資料到指定的資料表裡面,插入資料完畢可以選擇是否要進行轉址。
        #回傳的數值:     
        #$result["status"],爲查詢是否成功,若爲"true"則成功,若爲"false"則表示失敗了.
        #$result["error"],錯誤訊息.
        #$result["sql"],執行的sql語法.
        #$result["function"],當前執行的涵式
        #必填的參數:
        $conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
        $conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
        $conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
        $conf["tableName"]="test";#爲要插入資料的資料表名稱
        $conf["columnName"]=array("id");#爲資料表的項目名稱,
                #例如:$conf["columnName"]=array("columnName1","columnName2","columnName3",...);
        $conf["insertValue"]=array($i);#爲要插入度數值,
                #例如:$conf["insertValue"]=array("insertValue1","insertValue2","insertValue3",...);
        #可以省略的變數:
        $conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
        #參考資料來源:
        #http://www.javaworld.com.tw/jute/post/view?bid=21&id=173738&sty=1
        var_dump(db::insertData($conf));
        unset($conf);
        
        }#for end
        
#函式說明:
#將滿足條件的資料從資料表中刪除
#回傳的結果:       
#$result["status"],爲查詢是否成功,若爲0則成功,若爲1則表示失敗了
#$result["function"],當前執行的函數名稱.
#$result["error"],錯誤訊息
#$result["sql"],執行的語法
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱
$conf["selectedDataTableName"]="test";#要選取的資料表的名稱
$conf["whereColumn"]=array("id","id");#爲用來判斷要刪除的哪筆資料的欄位名稱,須爲陣列值
$conf["whereValue"]=array("3","4");#為用來判斷是要刪除哪筆資料的欄位對應數值,須爲陣列值      
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["WhereColumnOperator"]=array("<","<");#用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
$conf["WhereColumnAndOr"]=array("AND");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值,預設皆爲AND。其數量應爲要判斷的欄位數量減一。
var_dump(db::deleteDataFromTable($conf));
unset($conf);

#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["function"],當前執行的漢書名稱.
#$result["dataColumnName"],抓取的資料欄位名稱陣列.
        #$result["dataColumnName"][$i]代表第$i+1個欄位名稱
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
$conf["dbName"]="newDb";#爲要存取的資料庫名稱
$conf["tableName"]="test";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("*");#你想要的欄位!,若設為「array("*")」則代表全部欄位.
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
#$conf["WhereColumnName"]=array("");#用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、"!="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["orderItem"]="";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#備註:
#建議在查詢資料前,能夠檢查是否每個欄位都存在.
var_dump(db::fastGetDbData($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::checkDataExists<p>"; 

#建立測試用的資料庫
#函式說明:
#建立資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息 
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["newDatabaseName"]="newDb";#爲要新增的資料庫名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDatabase($conf));
unset($conf);

#建立測試用的資料表
#函式說明:
#建立資料表,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲"true",失敗則爲"false"。
#$result["error"],錯誤訊息的陣列。
#$result["sql"],要執行的sql語法。
#必填的參數說明:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
$conf["newDataTableName"]="test";#爲要新增的資料表名稱
$conf["newDataTableColmunName"]=array("id","lastUpdatedTime");#為新資料表的欄位名稱
$conf["newDataTableColmunType"]=array("int","timestamp");#為新資料表的欄位儲存的型態,常見的有:
        #int,用來儲存整數
        #double,用來儲存有小數點的數值
        #timestamp,用來儲存時間
        #char,用來儲存任何東西,儲存成字元
$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");#為該欄位的預設值
        #currentTime,當前時間;
        #updatedCurrentTime,初始為當前時間,之後每更動一次就更新為當次時間
        #null,代表空值
        #"",為不設定
        #以外的內容視為指定的數值
$conf["newDataTableColmunLength"]=array("","");#為新資料表的欄位儲存的長度:
        #"",代表不指定長度。
$conf["newDataTableColmunNull"]=array("no","no");#為新資料表的欄位是否可為NULL:
        #no代表不能為null,
        #yes代表可以為null。
$conf["newDataTableColmunAutoAdd"]=array("true","");#為新資料表的欄位是否自動+1
$conf["newDataTableColmunKeyType"]=array("primary key","");#為該欄位的鍵屬性:
        #primary key代表主鍵。
        #留"",代表不指定。
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::createDataTable($conf));
unset($conf);

#新增六筆資料
for($i=1;$i<7;$i++){
        
        #涵式說明:
        #插入資料到指定的資料表裡面,插入資料完畢可以選擇是否要進行轉址。
        #回傳的數值:     
        #$result["status"],爲查詢是否成功,若爲"true"則成功,若爲"false"則表示失敗了.
        #$result["error"],錯誤訊息.
        #$result["sql"],執行的sql語法.
        #$result["function"],當前執行的涵式
        #必填的參數:
        $conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
        $conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
        $conf["selectedDataBaseName"]="newDb";#要選取的資料庫名稱      
        $conf["tableName"]="test";#爲要插入資料的資料表名稱
        $conf["columnName"]=array("id");#爲資料表的項目名稱,
                #例如:$conf["columnName"]=array("columnName1","columnName2","columnName3",...);
        $conf["insertValue"]=array($i);#爲要插入度數值,
                #例如:$conf["insertValue"]=array("insertValue1","insertValue2","insertValue3",...);
        #可以省略的變數:
        $conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
        #參考資料來源:
        #http://www.javaworld.com.tw/jute/post/view?bid=21&id=173738&sty=1
        var_dump(db::insertData($conf));
        unset($conf);
        
        }#for end

#函式說明:
#檢查資料庫裏的資料表有無指定條件的資料
#回傳的結果:
#$result["status"],執行是否成功,成功為"true",失敗為"false"。
#$result["error"],錯誤訊息  
#$result["founded"],是否找到資料,"true"代表有符合的資料;"false"代表沒有符合的資料.             
#$result["sql"],執行的sql字串.
#$result["function"],當前執行的函數名稱.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["selectedDataBaseName"]="newDb";#爲指定的資料庫名稱,欲選擇的資料庫名稱
$conf["selectedDataTableName"]="test";#欲選擇的資料表名稱
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
$conf["conditionTargetName"]=array("id");#用來判斷的資料表數值名稱,需爲陣列,可省略
$conf["conditionTargetValue"]=array("5");#用來判斷的資料表數值名稱若等於該數值,表示條件成立,需爲陣列,可省略
var_dump(db::checkDataExists($conf));
unset($conf);

#移除測試用的資料庫
#函式說明:
#移除資料庫,會回傳一個陣列。
#回傳結果:
#$result["status"],若成功則爲0,失敗則爲1。
#$result["error"],錯誤訊息
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["dropedDatabaseName"]="newDb";#爲要移除的資料庫名稱
#可省略的參數:          
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::dropDatabase($conf));
unset($conf);

*/

/*

#提示要測試的函式
echo "<hr>db::checkDataBaseExists<p>";

#涵式說明:
#檢查該資料庫是否存在,結果會回傳一個陣列。
#回傳結果:
#$result["status"],設置執行錯誤.
#$result["error"],錯誤訊息.
#$result["exist"],有為"true",無為"false".
#$result["function"],當前執行的函數名稱.
#必填的參數
$conf["dbAddress"]=$dbAddress;#爲mysql-Server的位置
$conf["dbAccount"]=$dbAccount;#爲用於連入mysql-Server時要使用的帳號
$conf["checkDataBaseName"]="test";#爲要檢查是否存在的資料庫名稱
#可省略的參數
$conf["dbPassword"]=$dbPassword;#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
var_dump(db::checkDataBaseExists($conf));
unset($conf);

*/      

/*

#提示要測試的函式
echo "<hr>db::fastGetDbData - testCase 1<p>";

#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["function"],當前執行的漢書名稱.
#$result["dataColumnName"],抓取的資料欄位名稱陣列.
        #$result["dataColumnName"][$i]代表第$i+1個欄位名稱
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
$conf["dbName"]=$dbName;#爲要存取的資料庫名稱
$conf["tableName"]="userGroupAddMemberAuthorities";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("*");#你想要的欄位!,若設為「array("*")」則代表全部欄位.
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
#$conf["WhereColumnName"]=array("");#用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、"!="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["whereIn"],二維字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
$conf["whereIn"]=array(array("groupName",array("guest","webSocket","labUser")));
#$conf["whereNotIn"],二維字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["whereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["orderItem"]="";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#備註:
#建議在查詢資料前,能夠檢查是否每個欄位都存在.
$fastGetDbData=db::fastGetDbData($conf);
unset($conf);

#如果query失敗
if($fastGetDbData["status"]==="false"){
        
        #印出內容
        var_dump($fastGetDbData);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($fastGetDbData);

*/

/*

#提示要測試的函式
echo "<hr>db::fastGetDbData - testCase 2<p>";

#涵式說明:
#一次取得資料庫、表的資料
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$result["function"],當前執行的漢書名稱.
#$result["dataColumnName"],抓取的資料欄位名稱陣列.
        #$result["dataColumnName"][$i]代表第$i+1個欄位名稱
#$result["dataContent"],爲資料的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["dataCount"],爲取得的資料筆數。
#$result["sql"],執行的sql字串.
#必填的參數:
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
$conf["dbName"]=$dbName;#爲要存取的資料庫名稱
$conf["tableName"]="userGroupAddMemberAuthorities";#爲要存取的資料表名稱
$conf["columnYouWant"]=array("*");#你想要的欄位!,若設為「array("*")」則代表全部欄位.
#可省略的參數:
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
#$conf["WhereColumnName"]=array("");#用於判斷語句的欄位項目陣列。
#$conf["WhereColumnValue"]=array("");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、"!="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["whereIn"],二維字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["whereIn"]=array(array("groupName",array("guest","webSocket","labUser")));
#$conf["whereNotIn"],二維字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
$conf["whereNotIn"]=array(array("groupName",array("guest","webSocket","labUser")));
#$conf["orderItem"]="";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#備註:
#建議在查詢資料前,能夠檢查是否每個欄位都存在.
$fastGetDbData=db::fastGetDbData($conf);
unset($conf);

#如果query失敗
if($fastGetDbData["status"]==="false"){
        
        #印出內容
        var_dump($fastGetDbData);
        
        #結束程式
        exit;
        
        }#if end

#印出內容
var_dump($fastGetDbData);

*/

/*

#提示要測試的函式
echo "<hr>db::checkTableColExists - testCase 1<p>";

#函式說明:
#檢查資料表的欄位是否存在
#回傳的結果:
#設置執行錯誤的識別
#$result["function"],當前執行的函數名稱.
#$result["status"],"true"代表執行成功;"false"代表執行失敗.
#$result["error"],錯誤訊息.
#$result["warning"],警告訊息陣列
#$result["passed"],是否通過檢查,"true"代表通過;"false"代表不通過.
#其餘的結果代表參數不正確
#必填的參數:
#$conf["dbAddr"],字串,爲mysql-Server的位置
$conf["dbAddr"]=$dbAddress; 
#$conf["dbAcct"],字串,爲用於連入mysql-Server時要使用的帳號
$conf["dbAcct"]=$dbAccount;
#$conf["dbName"],字串,爲指定的資料庫名稱
$conf["dbName"]="test";
#$conf["dtName"],字串,為要檢查是否存在的資料表名稱
$conf["dtName"]="member";
#$conf["col"],字串陣列,要檢查的欄位名稱.
$conf["col"]=array("id","account","password");
#可省略的參數
#$conf["dbPass"],爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼 
$conf["dbPass"]=$dbPassword;
$checkTableColExists=db::checkTableColExists($conf);
unset($conf);

#如果檢查失敗
if($checkTableColExists["status"]==="false"){
        
        #印出結果
        var_dump($checkTableColExists);
        
        #結束執行
        exit;
        
        }#if end

#印出結果
var_dump($checkTableColExists);

*/      

/*

#提示要測試的函式
echo "<hr>db::checkTableColExists - testCase 2<p>";

#函式說明:
#檢查資料表的欄位是否存在
#回傳的結果:
#設置執行錯誤的識別
#$result["function"],當前執行的函數名稱.
#$result["status"],"true"代表執行成功;"false"代表執行失敗.
#$result["error"],錯誤訊息.
#$result["warning"],警告訊息陣列
#$result["passed"],是否通過檢查,"true"代表通過;"false"代表不通過.
#其餘的結果代表參數不正確
#必填的參數:
#$conf["dbAddr"],字串,爲mysql-Server的位置
$conf["dbAddr"]=$dbAddress; 
#$conf["dbAcct"],字串,爲用於連入mysql-Server時要使用的帳號
$conf["dbAcct"]=$dbAccount;
#$conf["dbName"],字串,爲指定的資料庫名稱
$conf["dbName"]="test";
#$conf["dtName"],字串,為要檢查是否存在的資料表名稱
$conf["dtName"]="member";
#$conf["col"],字串陣列,要檢查的欄位名稱.
$conf["col"]=array("id","account","password","gender");
#可省略的參數
#$conf["dbPass"],爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼 
$conf["dbPass"]=$dbPassword;
$checkTableColExists=db::checkTableColExists($conf);
unset($conf);

#如果檢查失敗
if($checkTableColExists["status"]==="false"){
        
        #印出結果
        var_dump($checkTableColExists);
        
        #結束執行
        exit;
        
        }#if end

#印出結果
var_dump($checkTableColExists);

*/      

/*

#提示要測試的函式
echo "<hr>db::joinByPHP - testCase 1<p>";

#函式說明:
#透過php來join多張資料表資料,提供各個欄位的包含資料庫、資料表、的資訊,會產生sql inner join的效果,資料會越來越多.
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$reuslt["function"],當前執行的函數
#$result["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
#$conf["dbInfo"]["資料庫名稱"]["dbAddr"]="";
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
#$conf["dbInfo"]["資料庫名稱"]["dbAcct"]="";       
$conf["dbInfo"][$dbName]["dbAddr"]=$dbAddress;
$conf["dbInfo"][$dbName]["dbAcct"]=$dbAccount;
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
$conf["mainTable"]=$dbName.".member";
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
$conf["linkColumnName"]=array(array($conf["mainTable"].".groupName","test.userGroup.groupName"));       
#可省略的參數:
#$conf["dbName"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
#$conf["dbName"]["資料庫名稱"]["dbPass"]="";
$conf["dbInfo"][$dbName]["dbPass"]=$dbPassword;
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
#$conf["columnYouWant"]=array();
#$conf["mainDtWhereColName"],字串陣列,用於主表判斷語句的欄位項目陣列.
#$conf["mainDtWhereColName"]=array("");
#$conf["mainDtWhereColVal"]=,字串陣列,用於主表判斷語句的欄位項目數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容.
#$conf["mainDtWhereColVal"]=array("");
#$conf["mainDtWhereColCombine"],字串陣列,用於主表判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["mainDtWhereColCombine"]=array("");
#$conf["mainWhereColumnOperator"],字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["mainWhereColumnOperator"]=array("");
#$conf["mainWhereColumnAndOr"],字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["mainWhereColumnAndOr"]=array("");
#$conf["mainWhereIn"],字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["mainWhereIn"]=array(array("colName",array("a","b","c")));
#$conf["mainWhereNotIn"],字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["mainWhereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["mainNumberStart"],字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["mainNumberStart"]="0";
#$conf["mainNumLimit"],字串,要取幾筆資料,可以省略,省略則表示不限制數目.
#$conf["mainNumLimit"]="30";
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["mainGroupBy"]=array();
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
#$conf["mainOrderItem"]="";
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
#$conf["mainAscORdesc"]="";     
#備註:
#建構中      
$joinByPHP=db::joinByPHP($conf);
unset($conf);

#如果執行失敗
if($joinByPHP["status"]==="false"){
        
        #印出結果
        var_dump($joinByPHP);
        
        #停止執行
        exit;
        
        }#if end

#印出結果
var_dump($joinByPHP);

*/


/*

#提示要測試的函式
echo "<hr>db::joinByPHP - testCase 2<p>";

#函式說明:
#透過php來join多張資料表資料,提供各個欄位的包含資料庫、資料表、的資訊,會產生sql inner join的效果,資料會越來越多.
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$reuslt["function"],當前執行的函數
#$result["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
#$conf["dbInfo"]["資料庫名稱"]["dbAddr"]="";
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
#$conf["dbInfo"]["資料庫名稱"]["dbAcct"]="";       
$conf["dbInfo"][$dbName]["dbAddr"]=$dbAddress;
$conf["dbInfo"][$dbName]["dbAcct"]=$dbAccount;
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
$conf["mainTable"]=$dbName.".member";
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
$conf["linkColumnName"]=array(array($conf["mainTable"].".groupName","test.userGroup.groupName"),array($conf["mainTable"].".groupName","test.userGroupAuthorities.groupName"));  
#可省略的參數:
#$conf["dbName"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
#$conf["dbName"]["資料庫名稱"]["dbPass"]="";
$conf["dbInfo"][$dbName]["dbPass"]=$dbPassword;
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
#$conf["columnYouWant"]=array();
#$conf["mainDtWhereColName"],字串陣列,用於主表判斷語句的欄位項目陣列.
#$conf["mainDtWhereColName"]=array("");
#$conf["mainDtWhereColVal"]=,字串陣列,用於主表判斷語句的欄位項目數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容.
#$conf["mainDtWhereColVal"]=array("");
#$conf["mainDtWhereColCombine"],字串陣列,用於主表判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["mainDtWhereColCombine"]=array("");
#$conf["mainWhereColumnOperator"],字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["mainWhereColumnOperator"]=array("");
#$conf["mainWhereColumnAndOr"],字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["mainWhereColumnAndOr"]=array("");
#$conf["mainWhereIn"],字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["mainWhereIn"]=array(array("colName",array("a","b","c")));
#$conf["mainWhereNotIn"],字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["mainWhereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["mainNumberStart"],字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["mainNumberStart"]="0";
#$conf["mainNumLimit"],字串,要取幾筆資料,可以省略,省略則表示不限制數目.
#$conf["mainNumLimit"]="30";
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["mainGroupBy"]=array();
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
#$conf["mainOrderItem"]="";
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
#$conf["mainAscORdesc"]="";     
#備註:
#建構中      
$joinByPHP=db::joinByPHP($conf);
unset($conf);

#如果執行失敗
if($joinByPHP["status"]==="false"){
        
        #印出結果
        var_dump($joinByPHP);
        
        #停止執行
        exit;
        
        }#if end

#印出結果
var_dump($joinByPHP);

*/

/*

#提示要測試的函式
echo "<hr>db::joinByPHP - testCase 3<p>";

#函式說明:
#透過php來join多張資料表資料,提供各個欄位的包含資料庫、資料表、的資訊,會產生sql inner join的效果,資料會越來越多.
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$reuslt["function"],當前執行的函數
#$result["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
#$conf["dbInfo"]["資料庫名稱"]["dbAddr"]="";
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
#$conf["dbInfo"]["資料庫名稱"]["dbAcct"]="";       
$conf["dbInfo"][$dbName]["dbAddr"]=$dbAddress;
$conf["dbInfo"][$dbName]["dbAcct"]=$dbAccount;
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
$conf["mainTable"]=$dbName.".member";
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
$conf["linkColumnName"]=array(array($conf["mainTable"].".groupName","test.userGroup.groupName"),array($conf["mainTable"].".groupName","test.userGroupAuthorities.groupName"));  
#可省略的參數:
#$conf["dbName"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
#$conf["dbName"]["資料庫名稱"]["dbPass"]="";
$conf["dbInfo"][$dbName]["dbPass"]=$dbPassword;
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
$conf["columnYouWant"]=array($conf["mainTable"].".account",$conf["mainTable"].".groupName","test.userGroup.groupDetail","test.userGroup.groupDisplayName","test.userGroupAuthorities.visitableSubSystem");
#$conf["mainDtWhereColName"],字串陣列,用於主表判斷語句的欄位項目陣列.
#$conf["mainDtWhereColName"]=array("");
#$conf["mainDtWhereColVal"]=,字串陣列,用於主表判斷語句的欄位項目數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容.
#$conf["mainDtWhereColVal"]=array("");
#$conf["mainDtWhereColCombine"],字串陣列,用於主表判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["mainDtWhereColCombine"]=array("");
#$conf["mainWhereColumnOperator"],字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["mainWhereColumnOperator"]=array("");
#$conf["mainWhereColumnAndOr"],字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["mainWhereColumnAndOr"]=array("");
#$conf["mainWhereIn"],字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["mainWhereIn"]=array(array("colName",array("a","b","c")));
#$conf["mainWhereNotIn"],字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["mainWhereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["mainNumberStart"],字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["mainNumberStart"]="0";
#$conf["mainNumLimit"],字串,要取幾筆資料,可以省略,省略則表示不限制數目.
#$conf["mainNumLimit"]="30";
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["mainGroupBy"]=array();
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
#$conf["mainOrderItem"]="";
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
#$conf["mainAscORdesc"]="";     
#備註:
#建構中      
$joinByPHP=db::joinByPHP($conf);
unset($conf);

#如果執行失敗
if($joinByPHP["status"]==="false"){
        
        #印出結果
        var_dump($joinByPHP);
        
        #停止執行
        exit;
        
        }#if end

#印出結果
var_dump($joinByPHP);

*/

/*

#提示要測試的函式
echo "<hr>db::joinByPHP - testCase 4<p>";

#函式說明:
#透過php來join多張資料表資料,提供各個欄位的包含資料庫、資料表、的資訊,會產生sql inner join的效果,資料會越來越多.
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$reuslt["function"],當前執行的函數
#$result["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
$conf["dbInfo"][$dbName]["dbAddr"]=$dbAddress;
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
$conf["dbInfo"][$dbName]["dbAcct"]=$dbAccount;  
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
$conf["mainTable"]=$dbName.".member";
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
$conf["linkColumnName"]=array(array($dbName.".member.account",$dbName.".memberDetail.account"));        
#可省略的參數:
#$conf["dbInfo"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
$conf["dbInfo"][$dbName]["dbPass"]=$dbPassword;
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
#$conf["columnYouWant"]=array();
#$conf["mainDtWhereColName"],字串陣列,用於主表判斷語句的欄位項目陣列.
$conf["mainDtWhereColName"]=array("account");
#$conf["mainDtWhereColVal"]=,字串陣列,用於主表判斷語句的欄位項目數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容.
$conf["mainDtWhereColVal"]=array("root");
#$conf["mainDtWhereColCombine"],字串陣列,用於主表判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["mainDtWhereColCombine"]=array("");
#$conf["mainWhereColumnOperator"],字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["mainWhereColumnOperator"]=array("");
#$conf["mainWhereColumnAndOr"],字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["mainWhereColumnAndOr"]=array("");
#$conf["mainWhereIn"],字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["mainWhereIn"]=array(array("colName",array("a","b","c")));
#$conf["mainWhereNotIn"],字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["mainWhereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["mainNumberStart"],字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["mainNumberStart"]="0";
#$conf["mainNumLimit"],字串,要取幾筆資料,可以省略,省略則表示不限制數目.
#$conf["mainNumLimit"]="30";
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["mainGroupBy"]=array();
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
#$conf["mainOrderItem"]="";
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
#$conf["mainAscORdesc"]="";     
$joinByPHP=db::joinByPHP($conf);
unset($conf);

#如果執行失敗
if($joinByPHP["status"]==="false"){
        
        #印出結果
        var_dump($joinByPHP);
        
        #停止執行
        exit;
        
        }#if end

#印出結果
var_dump($joinByPHP);

*/

/*

#提示要測試的函式
echo "<hr>db::joinByPHP - testCase 5<p>";

#函式說明:
#透過php來join多張資料表資料,提供各個欄位的包含資料庫、資料表、的資訊,會產生sql inner join的效果,資料會越來越多.
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$reuslt["function"],當前執行的函數
#$result["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
$conf["dbInfo"][$dbName]["dbAddr"]=$dbAddress;
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
$conf["dbInfo"][$dbName]["dbAcct"]=$dbAccount;  
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
$conf["mainTable"]=$dbName.".member";
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
$conf["linkColumnName"]=array(array($dbName.".member.account",$dbName.".memberDetail.account"));        
#可省略的參數:
#$conf["dbInfo"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
$conf["dbInfo"][$dbName]["dbPass"]=$dbPassword;
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
#$conf["columnYouWant"]=array();
#$conf["mainDtWhereColName"],字串陣列,用於主表判斷語句的欄位項目陣列.
$conf["mainDtWhereColName"]=array("account");
#$conf["mainDtWhereColVal"]=,字串陣列,用於主表判斷語句的欄位項目數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容.
$conf["mainDtWhereColVal"]=array("root");
#$conf["mainDtWhereColCombine"],字串陣列,用於主表判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["mainDtWhereColCombine"]=array("");
#$conf["mainWhereColumnOperator"],字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["mainWhereColumnOperator"]=array("");
#$conf["mainWhereColumnAndOr"],字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["mainWhereColumnAndOr"]=array("");
#$conf["mainWhereIn"],字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["mainWhereIn"]=array(array("colName",array("a","b","c")));
#$conf["mainWhereNotIn"],字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["mainWhereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["mainNumberStart"],字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["mainNumberStart"]="0";
#$conf["mainNumLimit"],字串,要取幾筆資料,可以省略,省略則表示不限制數目.
#$conf["mainNumLimit"]="30";
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["mainGroupBy"]=array();
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
#$conf["mainOrderItem"]="";
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
#$conf["mainAscORdesc"]="";     
$joinByPHP=db::joinByPHP($conf);
unset($conf);

#如果執行失敗
if($joinByPHP["status"]==="false"){
        
        #印出結果
        var_dump($joinByPHP);
        
        #停止執行
        exit;
        
        }#if end

#印出結果
var_dump($joinByPHP);

*/

/*

#提示要測試的函式
echo "<hr>db::joinByPHP - testCase 6<p>";

#函式說明:
#透過php來join多張資料表資料,提供各個欄位的包含資料庫、資料表、的資訊,會產生sql inner join的效果,資料會越來越多.
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$reuslt["function"],當前執行的函數
#$result["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
$conf["dbInfo"]["lms"]["dbAddr"]="localhost";
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
$conf["dbInfo"]["lms"]["dbAcct"]="root";        
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
$conf["mainTable"]="lms.device";
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
$conf["linkColumnName"][]=array("lms.device.id","lms.device_address.device_id");
$conf["linkColumnName"][]=array("lms.device.model","lms.device_model.id");      
#可省略的參數:
#$conf["dbInfo"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
$conf["dbInfo"]["lms"]["dbPass"]="dolbyhometheater";
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
#$conf["columnYouWant"]=array();
#$conf["mainDtWhereColName"],字串陣列,用於主表判斷語句的欄位項目陣列.
#$conf["mainDtWhereColName"]=array("");
#$conf["mainDtWhereColVal"]=,字串陣列,用於主表判斷語句的欄位項目數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容.
#$conf["mainDtWhereColVal"]=array("");
#$conf["mainDtWhereColCombine"],字串陣列,用於主表判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["mainDtWhereColCombine"]=array("");
#$conf["mainWhereColumnOperator"],字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["mainWhereColumnOperator"]=array("");
#$conf["mainWhereColumnAndOr"],字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["mainWhereColumnAndOr"]=array("");
#$conf["mainWhereIn"],字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["mainWhereIn"]=array(array("colName",array("a","b","c")));
#$conf["mainWhereNotIn"],字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["mainWhereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["mainNumberStart"],字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["mainNumberStart"]="0";
#$conf["mainNumLimit"],字串,要取幾筆資料,可以省略,省略則表示不限制數目.
#$conf["mainNumLimit"]="30";
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["mainGroupBy"]=array();
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
#$conf["mainOrderItem"]="";
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
#$conf["mainAscORdesc"]="";     
$joinByPHP=db::joinByPHP($conf);
unset($conf);

#如果執行失敗
if($joinByPHP["status"]==="false"){

        #印出結果
        var_dump($joinByPHP);

        #停止執行
        exit;

        }#if end

#印出結果
var_dump($joinByPHP);

*/

/*

#提示要測試的函式
echo "<hr>db::joinByPHP - testCase 7<p>";

#函式說明:
#透過php來join多張資料表資料,提供各個欄位的包含資料庫、資料表、的資訊,會產生sql inner join的效果,資料會越來越多.
#回傳的結果
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
#$result["error"],錯誤訊息陣列。
#$reuslt["function"],當前執行的函數
#$result["dataContent"],爲合併了子資料表欄位的父資料表的內容。
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
        #$dataSetNum 爲第$dataSetNum+1筆資料
        #$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
#$result["parentTable"]["dataCount"],爲取得的資料筆數。
#必填的參數:
#$conf["dbInfo"]["資料庫名稱"],字串陣列,爲要存取的"資料庫名稱"的連線資訊.
#$conf["dbIfno"]["資料庫名稱"]["dbAddr"],字串,dbServer的位置.
$conf["dbInfo"]["lms"]["dbAddr"]="localhost";
#$conf["dbIfno"]["資料庫名稱"]["dbAcct"],字串,dbServer的連線帳號.
$conf["dbInfo"]["lms"]["dbAcct"]="root";        
#$conf["mainTable"],字串,為 主資料庫.資料表 的名稱,例如 "dbA.dtA".
$conf["mainTable"]="lms.lights";
#$conf["linkColumnName"],二字串陣列,為資料表間相連結的欄位名稱,格式為 array("mergedDb.mergedDt.mergedCol","linkDb.linkDt.linkCol") 就代表當前組好的欄位 mergedDb.mergedDt.mergedCol 跟資料庫 linkDB 表 linkDt 欄位 linkCol 進行資料的配對。
$conf["linkColumnName"][]=array("lms.lights.light_detail_id","lms.light_detail.detail_id");
#可省略的參數:
#$conf["dbInfo"]["資料庫名稱"]["dbPass"],字串,dbServer的連線密碼.
$conf["dbInfo"]["lms"]["dbPass"]="dolbyhometheater";
#$conf["columnYouWant"],字串陣列,為想要的資料表欄位,格式為 "dbName.dtName.colName".
#$conf["columnYouWant"]=array();
#$conf["mainDtWhereColName"],字串陣列,用於主表判斷語句的欄位項目陣列.
#$conf["mainDtWhereColName"]=array("");
#$conf["mainDtWhereColVal"]=,字串陣列,用於主表判斷語句的欄位項目數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容.
#$conf["mainDtWhereColVal"]=array("");
#$conf["mainDtWhereColCombine"],字串陣列,用於主表判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
#$conf["mainDtWhereColCombine"]=array("");
#$conf["mainWhereColumnOperator"],字串陣列,用於判斷語句的比較符號陣列,可以用的符號有「"="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
#$conf["mainWhereColumnOperator"]=array("");
#$conf["mainWhereColumnAndOr"],字串陣列,用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
#$conf["mainWhereColumnAndOr"]=array("");
#$conf["mainWhereIn"],字串陣列,為每個in語句的內容,特定欄位數值等於陣列元素之一。array(array("colName",array("a","b","c")));代表欄位colName的值為a,b,c三者之一.
#$conf["mainWhereIn"]=array(array("colName",array("a","b","c")));
#$conf["mainWhereNotIn"],字串陣列,為每個not in語句的內容,array(array("colName",array("a","b","c")));代表欄位colName的值不為a,b,c三者之一.
#$conf["mainWhereNotIn"]=array(array("colName",array("a","b","c")));
#$conf["mainNumberStart"],字串,從第幾筆開始讀取,預設為"0",代筆第一筆。
#$conf["mainNumberStart"]="0";
#$conf["mainNumLimit"],字串,要取幾筆資料,可以省略,省略則表示不限制數目.
#$conf["mainNumLimit"]="30";
#$conf["mainGroupBy"],字串陣列,爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
#$conf["mainGroupBy"]=array();
#$conf["mainOrderItem"],字串,組好的資料的排序項目依據
#$conf["mainOrderItem"]="";
#$conf["mainAscORdesc"],字串,組好的資料要低增還是遞減排序,asc爲遞增;desc爲遞減,預設不做處理.
#$conf["mainAscORdesc"]="";     
$joinByPHP=db::joinByPHP($conf);
unset($conf);

#如果執行失敗
if($joinByPHP["status"]==="false"){

        #印出結果
        var_dump($joinByPHP);

        #停止執行
        exit;

        }#if end

#印出結果
var_dump($joinByPHP);

*/

?>