Subversion Repositories php-qbpwcf

Rev

Rev 170 | Rev 183 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 170 Rev 177
Line 645... Line 645...
645
		#array_keys=>http://php.net/manual/en/function.array-keys.php
645
		#array_keys=>http://php.net/manual/en/function.array-keys.php
646
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
646
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
647
		unset($conf["variableCheck::checkArguments"]);
647
		unset($conf["variableCheck::checkArguments"]);
648
		
648
		
649
		#如果檢查失敗
649
		#如果檢查失敗
650
		if($checkResult["status"]=="false"){
650
		if($checkResult["status"]==="false"){
651
			
651
			
652
			#設置錯誤識別
652
			#設置錯誤識別
653
			$result["status"]="false";
653
			$result["status"]="false";
654
			
654
			
655
			#設置錯誤訊息
655
			#設置錯誤訊息
Line 659... Line 659...
659
			return $result;
659
			return $result;
660
			
660
			
661
			}#if end
661
			}#if end
662
 
662
 
663
		#如果 $checkResult["status"]等於"false";
663
		#如果 $checkResult["status"]等於"false";
664
		if($checkResult["passed"]=="false"){
664
		if($checkResult["passed"]==="false"){
665
			
665
			
666
			#設置錯誤識別
666
			#設置錯誤識別
667
			$result["status"]="false";
667
			$result["status"]="false";
668
			
668
			
669
			#設置錯誤訊息
669
			#設置錯誤訊息
Line 696... Line 696...
696
		#如果有設置 $conf["dbPort"]
696
		#如果有設置 $conf["dbPort"]
697
		if(isset($conf["dbPort"])){
697
		if(isset($conf["dbPort"])){
698
		
698
		
699
			$conf["db"]["mysqlConnect"]["dbPort"]=$conf["dbPort"];#字串,為連線到mysql-Server時對應的port,可省略,預設為3306.
699
			$conf["db"]["mysqlConnect"]["dbPort"]=$conf["dbPort"];#字串,為連線到mysql-Server時對應的port,可省略,預設為3306.
700
		
700
		
701
			}#if end	
701
			}#if end
702
					
702
		
703
		$con=db::mysqlConnect($conf["db"]["mysqlConnect"]);
703
		$con=db::mysqlConnect($conf["db"]["mysqlConnect"]);
704
		unset($conf["db"]["mysqlConnect"]);
704
		unset($conf["db"]["mysqlConnect"]);
705
 
705
 
706
		#如果連線失敗
706
		#如果連線失敗
707
		if($con["status"]=="false"){
707
		if($con["status"]==="false"){
708
			
708
			
709
			#提示訊息
709
			#提示訊息
710
			$result["error"]=$con;
710
			$result["error"]=$con;
711
 
711
 
712
			#設置執行失敗
712
			#設置執行失敗
Line 715... Line 715...
715
			#回傳結果
715
			#回傳結果
716
			return $result;
716
			return $result;
717
			
717
			
718
			}#if end
718
			}#if end
719
 
719
 
-
 
720
		#確認資料庫存在或可以被存取
-
 
721
		#函式說明:
-
 
722
		#執行mysql指令
-
 
723
		#回傳結果::
-
 
724
		#$result["status"],"true"為執行成功;"false"為執行失敗。
-
 
725
		#$result["error"],錯誤訊息的陣列
-
 
726
		#$result["function"],當前執行的涵式
-
 
727
		#$result["queryResource"],mysql查詢後的resource資源,用於給mysql解析的資源變數。
-
 
728
		#$result["queryConn"],mysql用來查尋的連資源. 
-
 
729
		#$result["queryString"],要執行的sql內容.
-
 
730
		#必填參數:
-
 
731
		#$conf["dbSql"],字串,要執行sql語法
-
 
732
		$conf["db::execMysqlQuery"]["dbSql"]="show databases;";
-
 
733
		#可省略參數:
-
 
734
		#$conf["dbLink"],物件,mysqli物件,由mysqli_connect()回傳的物件內容,若為數值則改用賬號密碼等資訊進行連線,反之則沿用連線物件.
-
 
735
		#$conf["db::execMysqlQuery"]["dbLink"]=$conf["dbName"];
-
 
736
		#$conf["dbAddress"],字串,爲mysql-Server的位置。
-
 
737
		$conf["db::execMysqlQuery"]["dbAddress"]=$conf["dbAddress"];
-
 
738
		#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號。
-
 
739
		$conf["db::execMysqlQuery"]["dbAccount"]=$conf["dbAccount"]; 
-
 
740
		
-
 
741
		#如果存在 $dbPassword
-
 
742
		if(isset($conf["dbPassword"])){
-
 
743
		
-
 
744
			#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼。
-
 
745
			$conf["db::execMysqlQuery"]["dbPassword"]=$conf["dbPassword"];
-
 
746
			
-
 
747
			}#if end
-
 
748
			
-
 
749
		#$conf["dbName"],字串,爲要連的資料庫名稱
-
 
750
		#$conf["dbName"]="";
-
 
751
		
-
 
752
		#如果存在 $dbPort
-
 
753
		if(isset($conf["dbPort"])){
-
 
754
		
-
 
755
			#$conf["dbPort"],字串,為連線到mysql-Server時對應的port,可省略,預設為3306.
-
 
756
			$conf["db::execMysqlQuery"]["dbPort"]=$conf["dbPort"];
-
 
757
		
-
 
758
			}#if end
-
 
759
		
-
 
760
		#$conf["autoClose"],字串,"true"代表要自動斷線,預設為"true"會自動斷線
-
 
761
		#$conf["autoClose"]="true";
-
 
762
		#參考資料:
-
 
763
		#無.
-
 
764
		#備註:
-
 
765
		#無.
-
 
766
		$execMysqlQuery=db::execMysqlQuery($conf["db::execMysqlQuery"]);
-
 
767
		unset($conf["db::execMysqlQuery"]);
-
 
768
 
-
 
769
		#如果執行失敗
-
 
770
		if($execMysqlQuery["status"]==="false"){
-
 
771
		
-
 
772
			#設置連線失敗的提示
-
 
773
			$result["error"][]="檢查資料庫可否存取出錯";
-
 
774
			
-
 
775
			#設置錯誤訊息
-
 
776
			$result["error"][]=$execMysqlQuery["error"];
-
 
777
			
-
 
778
			#設置執行失敗
-
 
779
			$result["status"]="false";
-
 
780
			
-
 
781
			#回傳結果
-
 
782
			return $result;
-
 
783
			
-
 
784
			}#if end
-
 
785
		
-
 
786
		#解析 $execMysqlQuery["queryResource"] 看是否存在要存取的資料庫
-
 
787
		#函式說明:
-
 
788
		#解析 dataTableSelect($conf) 後的結果,亦即將執行sql語法後所得到的結果解析放進變數裏面
-
 
789
		#回傳結果:
-
 
790
		#$result["status"],執行結果"true"為成功;"false"為失敗
-
 
791
		#$result["error"],錯誤訊息
-
 
792
		#$result["function"],儲存當前函數名稱
-
 
793
		#$result["dataColumnName"],為資料欄位的名稱陣列.
-
 
794
		#$result["dataColumnName"][$i]代表第一個欄位名稱.
-
 
795
		#$result["dataContent"],爲資料的內容陣列,第1維度的key為$conf["tableValueName"][$i],亦即第 $i+1 個欄位的名稱,若該欄位不存在,則其value為空字串;第2維度的key為第$i+1筆資料的索引.
-
 
796
		#$result["dataCount"],爲取得的資料筆數.
-
 
797
		#必填參數:
-
 
798
		#$conf["sqlQueryResult"],object,爲執行sql語法所獲得的查詢結果。
-
 
799
		$conf["db::sendQueryDataToVariabele"]["sqlQueryResult"]=$execMysqlQuery["queryResource"];
-
 
800
		#$conf["tableValueName"],字串陣列,爲該資料表列項目的每一項名稱,須爲陣列值,若為「array("*")」則代表所有欄位.
-
 
801
		$conf["db::sendQueryDataToVariabele"]["tableValueName"]=array("Database");
-
 
802
		#可省略參數:
-
 
803
		#$conf["dbAddress"],字串,爲mysql-Server的位置,目前沒有用途.
-
 
804
		#$conf["dbAddress"]=$dbAddress;
-
 
805
		#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號,目前沒有用途.
-
 
806
		#$conf["dbAccount"]=$dbAccount;
-
 
807
		#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼,目前沒有用途.
-
 
808
		#$conf["dbPassword"]=$dbPassword;
-
 
809
		#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的3306 port,目前沒有用途.
-
 
810
		#$conf["dbPort"]="";
-
 
811
		#$conf["valueName"],字串陣列,爲該資料表列項目的每一項所要對應的變數名稱,預設為欄位的名稱($conf["tableValueName"]).
-
 
812
		#$conf["valueName"]=$conf["tableValueName"];
-
 
813
		#參考資料:
-
 
814
		#http://www.w3school.com.cn/php/func_mysql_fetch_array.asp => 解析取得的資料表欄位時,能夠選擇回傳含有欄位名稱與數字代表的key.
-
 
815
		#備註:
-
 
816
		#無.
-
 
817
		$sendQueryDataToVariabele=db::sendQueryDataToVariabele($conf["db::sendQueryDataToVariabele"]);
-
 
818
		unset($conf["db::sendQueryDataToVariabele"]);
-
 
819
 
-
 
820
		#如果執行異常
-
 
821
		if($sendQueryDataToVariabele["status"]==="false"){
-
 
822
		
-
 
823
			#設置連線失敗的提示
-
 
824
			$result["error"][]="檢查資料庫可否存取出錯";
-
 
825
			
-
 
826
			#設置錯誤訊息
-
 
827
			$result["error"][]=$sendQueryDataToVariabele["error"];
-
 
828
			
-
 
829
			#設置執行失敗
-
 
830
			$result["status"]="false";
-
 
831
			
-
 
832
			#回傳結果
-
 
833
			return $result;
-
 
834
			
-
 
835
			}#if end
-
 
836
			
-
 
837
		#檢查資料庫是否可以存取
-
 
838
		#函式說明:
-
 
839
		#檢查一個數值是否與陣列裏面的元素相同,找到一個相符合的元素後就會停止搜尋.
-
 
840
		#回傳結果:
-
 
841
		#$result["status"],"true"表示執行正確,"false"表示執行錯誤.
-
 
842
		#$result["founded"],"true"表示有找到相同的,"false"表示沒有找到相同的.
-
 
843
		#$result["error"],錯誤訊息
-
 
844
		#$result["function"],當前執行的函數名稱
-
 
845
		#$result["argv"],使用的參數
-
 
846
		#$result["equalVarName"],相等的變數名稱或key.
-
 
847
		#$result["equalVarValue"],相等的變數數值內容.
-
 
848
		#必填參數:
-
 
849
		#$conf["conditionElement"],字串,條件元素,要等於的元素內容.
-
 
850
		$conf["search::getEqualVar"]["conditionElement"]=$conf["dbName"];
-
 
851
		#$conf["compareElements"],字串陣列,要比對的陣列變數內容.
-
 
852
		$conf["search::getEqualVar"]["compareElements"]=$sendQueryDataToVariabele["dataContent"]["Database"];
-
 
853
		#可省略參數:
-
 
854
		#無.
-
 
855
		#參考資料:
-
 
856
		#無.
-
 
857
		#備註:
-
 
858
		#無.
-
 
859
		$getEqualVar=search::getEqualVar($conf["search::getEqualVar"]);
-
 
860
		unset($conf["search::getEqualVar"]);
-
 
861
		
-
 
862
		#如果執行失敗
-
 
863
		if($getEqualVar["status"]==="false"){
-
 
864
		
-
 
865
			#設置錯誤的提示
-
 
866
			$result["error"][]="檢查資料庫可否存取出錯";
-
 
867
			
-
 
868
			#設置錯誤訊息
-
 
869
			$result["error"][]=$sendQueryDataToVariabele["error"];
-
 
870
			
-
 
871
			#設置執行失敗
-
 
872
			$result["status"]="false";
-
 
873
			
-
 
874
			#回傳結果
-
 
875
			return $result;
-
 
876
		
-
 
877
			}#if end
-
 
878
			
-
 
879
		#如果無法存取資料庫
-
 
880
		if($getEqualVar["founded"]==="false"){
-
 
881
			
-
 
882
			#設置錯誤的提示
-
 
883
			$result["error"][]="資料庫(".$conf["dbName"].")無法存取";
-
 
884
			
-
 
885
			#設置錯誤訊息
-
 
886
			$result["error"][]=$sendQueryDataToVariabele;
-
 
887
			
-
 
888
			#設置執行失敗
-
 
889
			$result["status"]="false";
-
 
890
			
-
 
891
			#回傳結果
-
 
892
			return $result;
-
 
893
		
-
 
894
			}#if end
-
 
895
 
720
		#選取資料庫
896
		#選取資料庫
721
		#如果連線失敗
897
		#如果連線失敗
722
		if(!(mysqli_select_db($con["connectInformation"],$conf["dbName"]))){
898
		if(!(mysqli_select_db($con["connectInformation"],$conf["dbName"]))){
723
 
899
 
724
			#設置連線失敗的提示
900
			#設置連線失敗的提示
Line 732... Line 908...
732
			
908
			
733
			#設置執行失敗
909
			#設置執行失敗
734
			$result["status"]="false";
910
			$result["status"]="false";
735
			
911
			
736
			#回傳結果
912
			#回傳結果
737
			return $result;	 
913
			return $result;
738
 
914
 
739
			}#if end
915
			}#if end
740
 
916
 
741
		#取得mysqli物件
917
		#取得mysqli物件
742
		$result["connectInformation"]=$con["connectInformation"];
918
		$result["connectInformation"]=$con["connectInformation"];
Line 866... Line 1042...
866
 
1042
 
867
		#如果 $checkResult["status"]等於"false";
1043
		#如果 $checkResult["status"]等於"false";
868
		if($checkResult["passed"]==="false"){
1044
		if($checkResult["passed"]==="false"){
869
			
1045
			
870
			#設置錯誤識別
1046
			#設置錯誤識別
871
			$result["status"]="fasle";
1047
			$result["status"]="false";
872
			
1048
			
873
			#設置錯誤訊息
1049
			#設置錯誤訊息
874
			$result["error"]=$checkResult;
1050
			$result["error"]=$checkResult;
875
			
1051
			
876
			#回傳解果
1052
			#回傳解果
Line 932... Line 1108...
932
					}#if end
1108
					}#if end
933
				
1109
				
934
				#儲存mysqli物件
1110
				#儲存mysqli物件
935
				$result["queryConn"]=$con["connectInformation"];
1111
				$result["queryConn"]=$con["connectInformation"];
936
				
1112
				
-
 
1113
				#解析可以取得的資料庫清單
-
 
1114
				#函式說明:
-
 
1115
				#解析 dataTableSelect($conf) 後的結果,亦即將執行sql語法後所得到的結果解析放進變數裏面
-
 
1116
				#回傳結果:
-
 
1117
				#$result["status"],執行結果"true"為成功;"false"為失敗
-
 
1118
				#$result["error"],錯誤訊息
-
 
1119
				#$result["function"],儲存當前函數名稱
-
 
1120
				#$result["dataColumnName"],為資料欄位的名稱陣列.
-
 
1121
				#$result["dataColumnName"][$i]代表第一個欄位名稱.
-
 
1122
				#$result["dataContent"],爲資料的內容陣列,第1維度的key為$conf["tableValueName"][$i],亦即第 $i+1 個欄位的名稱,若該欄位不存在,則其value為空字串;第2維度的key為第$i+1筆資料的索引.
-
 
1123
				#$result["dataCount"],爲取得的資料筆數.
-
 
1124
				#必填參數:
-
 
1125
				#$conf["sqlQueryResult"],object,爲執行sql語法所獲得的查詢結果。
-
 
1126
				$conf["db::sendQueryDataToVariabele"]["sqlQueryResult"]=$result["queryConn"];
-
 
1127
				#$conf["tableValueName"],字串陣列,爲該資料表列項目的每一項名稱,須爲陣列值,若為「array("*")」則代表所有欄位.
-
 
1128
				$conf["db::sendQueryDataToVariabele"]["tableValueName"]=array("Database");
-
 
1129
				#可省略參數:
-
 
1130
				#$conf["dbAddress"],字串,爲mysql-Server的位置,目前沒有用途.
-
 
1131
				$conf["db::sendQueryDataToVariabele"]["dbAddress"]=$dbAddress;
-
 
1132
				#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號,目前沒有用途.
-
 
1133
				$conf["db::sendQueryDataToVariabele"]["dbAccount"]=$dbAccount;
-
 
1134
				
-
 
1135
				#如果有設置 $conf["dbPassword"]
-
 
1136
				if(isset($conf["dbPassword"])){
-
 
1137
				
-
 
1138
					#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼,目前沒有用途.
-
 
1139
					$conf["db::sendQueryDataToVariabele"]["dbPassword"]=$dbPassword;
-
 
1140
				
-
 
1141
					}#if end
-
 
1142
				
-
 
1143
				#如果有設置 $conf["dbPort"]
-
 
1144
				if(isset($conf["dbPort"])){
-
 
1145
				
-
 
1146
					#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的3306 port,目前沒有用途.
-
 
1147
					$conf["db::sendQueryDataToVariabele"]["dbPort"]=$conf["dbPort"];
-
 
1148
				
-
 
1149
					}#if end
-
 
1150
				
-
 
1151
				#$conf["valueName"],字串陣列,爲該資料表列項目的每一項所要對應的變數名稱,預設為欄位的名稱($conf["tableValueName"]).
-
 
1152
				#$conf["valueName"]=$conf["tableValueName"];
-
 
1153
				#參考資料:
-
 
1154
				#http://www.w3school.com.cn/php/func_mysql_fetch_array.asp => 解析取得的資料表欄位時,能夠選擇回傳含有欄位名稱與數字代表的key.
-
 
1155
				#備註:
-
 
1156
				#無.
-
 
1157
				$sendQueryDataToVariabele=db::sendQueryDataToVariabele($conf["db::sendQueryDataToVariabele"]);
-
 
1158
				unset($conf["db::sendQueryDataToVariabele"]);
-
 
1159
				
-
 
1160
				#如果連線失敗
-
 
1161
				if($sendQueryDataToVariabele["status"]==="false"){
-
 
1162
					
-
 
1163
					#設置執行失敗的訊息
-
 
1164
					$result["status"]="false";
-
 
1165
					
-
 
1166
					#紀錄錯誤訊息
-
 
1167
					$result["error"]=$sendQueryDataToVariabele;
-
 
1168
					
-
 
1169
					#回傳結果
-
 
1170
					return $result;
-
 
1171
					
-
 
1172
					}#if end
-
 
1173
				
-
 
1174
				#尋找目標資料庫是否存在
-
 
1175
				#函式說明:
-
 
1176
				#檢查一個數值是否與陣列裏面的元素相同,找到一個相符合的元素後就會停止搜尋.
-
 
1177
				#回傳結果:
-
 
1178
				#$result["status"],"true"表示執行正確,"false"表示執行錯誤.
-
 
1179
				#$result["founded"],"true"表示有找到相同的,"false"表示沒有找到相同的.
-
 
1180
				#$result["error"],錯誤訊息
-
 
1181
				#$result["function"],當前執行的函數名稱
-
 
1182
				#$result["argv"],使用的參數
-
 
1183
				#$result["equalVarName"],相等的變數名稱或key.
-
 
1184
				#$result["equalVarValue"],相等的變數數值內容.
-
 
1185
				#必填參數:
-
 
1186
				#$conf["conditionElement"],字串,條件元素,要等於的元素內容.
-
 
1187
				$conf["search::getEqualVar"]["conditionElement"]=$conf["dbName"];
-
 
1188
				#$conf["compareElements"],字串陣列,要比對的陣列變數內容.
-
 
1189
				$conf["search::getEqualVar"]["compareElements"]=$result["dataContent"]["Database"];
-
 
1190
				#可省略參數:
-
 
1191
				#無.
-
 
1192
				#參考資料:
-
 
1193
				#無.
-
 
1194
				#備註:
-
 
1195
				#無.
-
 
1196
				$getEqualVar=search::getEqualVar($conf["search::getEqualVar"]);
-
 
1197
				unset($conf["search::getEqualVar"]);
-
 
1198
				
-
 
1199
				#如果連線失敗
-
 
1200
				if($getEqualVar["status"]==="false"){
-
 
1201
					
-
 
1202
					#設置執行失敗的訊息
-
 
1203
					$result["status"]="false";
-
 
1204
					
-
 
1205
					#紀錄錯誤訊息
-
 
1206
					$result["error"]=$getEqualVar;
-
 
1207
					
-
 
1208
					#回傳結果
-
 
1209
					return $result;
-
 
1210
					
-
 
1211
					}#if end
-
 
1212
					
-
 
1213
				#如果不存在
-
 
1214
				if($getEqualVar["founded"]==="false"){
-
 
1215
					
-
 
1216
					#設置執行失敗的訊息
-
 
1217
					$result["status"]="false";
-
 
1218
					
-
 
1219
					#紀錄錯誤訊息
-
 
1220
					$result["error"][]="目標資料庫 ".$conf["dbName"]." 不存在";
-
 
1221
					
-
 
1222
					#紀錄錯誤訊息
-
 
1223
					$result["error"][]=$getEqualVar;
-
 
1224
					
-
 
1225
					#回傳結果
-
 
1226
					return $result;
-
 
1227
					
-
 
1228
					}#if end
-
 
1229
				
937
				}#if end
1230
				}#if end
938
						
1231
			
939
			#反之沒有指定資料庫	
1232
			#反之沒有指定資料庫
940
			else{
1233
			else{
941
				
1234
				
942
				#連線到mysql
1235
				#連線到mysql
943
				#函式說明:
1236
				#函式說明:
944
				#連線到mysql-server,會回傳一個陣列
1237
				#連線到mysql-server,會回傳一個陣列
Line 982... Line 1275...
982
					return $result;
1275
					return $result;
983
					
1276
					
984
					}#if end
1277
					}#if end
985
				
1278
				
986
				#debug
1279
				#debug
987
				var_dump(__LINE__,$con);
1280
				#var_dump(__LINE__,$con);
988
				
1281
				
989
				#儲存mysqli物件
1282
				#儲存mysqli物件
990
				$result["queryConn"]=$con["connectInformation"];
1283
				$result["queryConn"]=$con["connectInformation"];
991
				
1284
				
992
				}#else end
1285
				}#else end
Line 1005... Line 1298...
1005
		$result["queryStringOri"]=$conf["dbSql"];
1298
		$result["queryStringOri"]=$conf["dbSql"];
1006
		
1299
		
1007
		#設置sql的查詢語言
1300
		#設置sql的查詢語言
1008
		$result["queryString"]=$conf["dbSql"];
1301
		$result["queryString"]=$conf["dbSql"];
1009
		
1302
		
-
 
1303
		#debug
-
 
1304
		#var_dump(__LINE__,$result["queryString"]);
-
 
1305
		
1010
		#進行查詢
1306
		#進行查詢
1011
		#如果有錯誤訊息
1307
		#如果有錯誤訊息
1012
		if(!($mysqli_query=mysqli_query($result["queryConn"],$result["queryString"]))){
1308
		if(!($mysqli_query=mysqli_query($result["queryConn"],$result["queryString"]))){
1013
			
1309
			
1014
			#設置執行失敗的訊息
1310
			#設置執行失敗的訊息
Line 1058... Line 1354...
1058
				return $result;
1354
				return $result;
1059
				
1355
				
1060
				}#if end
1356
				}#if end
1061
		
1357
		
1062
			}#if end
1358
			}#if end
1063
						
1359
		
1064
		#設置執行成功的訊息
1360
		#設置執行成功的訊息
1065
		$result["status"]="true";	
1361
		$result["status"]="true";
1066
		
1362
		
1067
		#回傳查詢後的結果
1363
		#回傳查詢後的結果
1068
		return $result;
1364
		return $result;
1069
		
1365
		
1070
		}#function execMysqlQuery end
1366
		}#function execMysqlQuery end
Line 1506... Line 1802...
1506
	$conf["dbAddress"]=$dbAddress;
1802
	$conf["dbAddress"]=$dbAddress;
1507
	#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號。
1803
	#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號。
1508
	$conf["dbAccount"]=$dbAccount;
1804
	$conf["dbAccount"]=$dbAccount;
1509
	#$conf["newDatabaseName"],字串,爲要新增的資料庫名稱.
1805
	#$conf["newDatabaseName"],字串,爲要新增的資料庫名稱.
1510
	$conf["newDatabaseName"]="";
1806
	$conf["newDatabaseName"]="";
1511
	#$conf["dbPort"],字串,為連線到mysql-Server時對應的port,預設為3306.
-
 
1512
	$conf["dbPort"]="3306";
-
 
1513
	#可省略參數: 
1807
	#可省略參數: 
1514
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼。
1808
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼。
1515
	#$conf["dbPassword"]=$dbPassword;
1809
	#$conf["dbPassword"]=$dbPassword;
1516
	#$conf["dbName"],字串,爲要連的資料庫名稱
1810
	#$conf["dbName"],字串,爲要連的資料庫名稱
1517
	#$conf["dbName"]="";
1811
	#$conf["dbName"]="";
-
 
1812
	#$conf["dbPort"],字串,為連線到mysql-Server時對應的port,預設為3306.
-
 
1813
	#$conf["dbPort"]="3306";
1518
	#參考資料:
1814
	#參考資料:
1519
	#maraiDB-createDatabase => https://mariadb.com/kb/en/mariadb/mariadb-documentation/data-types/string-data-types/data-types-character-sets-and-collations/setting-character-sets-and-collations/
1815
	#maraiDB-createDatabase => https://mariadb.com/kb/en/mariadb/mariadb-documentation/data-types/string-data-types/data-types-character-sets-and-collations/setting-character-sets-and-collations/
1520
	#備註:
1816
	#備註:
1521
	#無.
1817
	#無.
1522
	*/
1818
	*/
Line 1557... Line 1853...
1557
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
1853
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
1558
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
1854
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
1559
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
1855
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
1560
		#必填參數:
1856
		#必填參數:
1561
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
1857
		$conf["variableCheck"]["isexistMuti"]["varInput"]=$conf;#要檢查的陣列變數
1562
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("dbAddress","dbPassword","newDatabaseName","dbPort");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
1858
		$conf["variableCheck"]["isexistMuti"]["variableCheck"]=array("dbAddress","dbPassword","newDatabaseName");#要檢查的變數名稱陣列,形態爲陣列變數,例如: $conf["variableCheck"] = array("id","account","password");
1563
		#可省略參數:
1859
		#可省略參數:
1564
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("string","string","string","string");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double"); 
1860
		$conf["variableCheck"]["isexistMuti"]["variableType"]=array("string","string","string");#要檢查的陣列變數內的元素應該爲何種變數形態,形態爲陣列 例如: $conf[variableType] = array("string","int","double"); 
1565
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
1861
		#$conf["variableCheck"]["isexistMuti"]["canBeEmptyString"]="false";#變數內容如果是空字串就不能算是有設置的話,請設為"false",預設為也算是有設置。
1566
		#備註:
1862
		#備註:
1567
		#功能與checkExistAndType函式相同
1863
		#功能與checkExistAndType函式相同
1568
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
1864
		$checkResult=variableCheck::isexistMulti($conf["variableCheck"]["isexistMuti"]);
1569
		unset($conf["variableCheck"]["isexistMuti"]);
1865
		unset($conf["variableCheck"]["isexistMuti"]);
Line 1663... Line 1959...
1663
	#$conf["newDataTableColmunDefault"],字串陣列,為該欄位的預設值,若為currentTime則為當前時間;若為updatedCurrentTime則為初始為當前時間,之後每更動一次就更新為當次時間;若為null則代表空值;若為""則為不設定;以外的內容視為指定的數值.
1959
	#$conf["newDataTableColmunDefault"],字串陣列,為該欄位的預設值,若為currentTime則為當前時間;若為updatedCurrentTime則為初始為當前時間,之後每更動一次就更新為當次時間;若為null則代表空值;若為""則為不設定;以外的內容視為指定的數值.
1664
	$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");
1960
	$conf["newDataTableColmunDefault"]=array("","updatedCurrentTime");
1665
	#$conf["newDataTableColmunLength"],字串陣列,為新資料表的欄位儲存的長度,""代表不指定長度.
1961
	#$conf["newDataTableColmunLength"],字串陣列,為新資料表的欄位儲存的長度,""代表不指定長度.
1666
	$conf["newDataTableColmunLength"]=array("","");
1962
	$conf["newDataTableColmunLength"]=array("","");
1667
	#$conf["newDataTableColmunNull"],字串陣列,為新資料表的欄位是否可為NULL.若為no則代表不能為null;若為yes則代表可以為null.
1963
	#$conf["newDataTableColmunNull"],字串陣列,為新資料表的欄位是否可為NULL.若為no則代表不能為null;若為yes則代表可以為null.
1668
	$conf["newDataTableColmunNull"]=array("no","no");	
1964
	$conf["newDataTableColmunNull"]=array("no","no","no","no");	
1669
	#$conf["newDataTableColmunAutoAdd"],字串陣列,為新資料表的欄位是否自動+1
1965
	#$conf["newDataTableColmunAutoAdd"],字串陣列,"true"為新資料表的欄位自動+1;反之設為""即可.
1670
	$conf["newDataTableColmunAutoAdd"]=array("true","");
1966
	$conf["newDataTableColmunAutoAdd"]=array("true","","","");
1671
	#$conf["newDataTableColmunKeyType"],字串陣列,為該欄位的鍵屬性:primary key代表主鍵;留"",代表不指定。
1967
	#$conf["newDataTableColmunKeyType"],字串陣列,為該欄位的鍵屬性:primary key代表主鍵;留"",代表不指定。
1672
	$conf["newDataTableColmunKeyType"]=array("primary key","");
1968
	$conf["newDataTableColmunKeyType"]=array("primary key","","","");
1673
	#可省略參數:
1969
	#可省略參數:
1674
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼.
1970
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼.
1675
	#$conf["dbPassword"]=$dbPassword;
1971
	#$conf["dbPassword"]=$dbPassword;
1676
	#$conf["dbPort"],字串,為連線到mysql-Server時對應的port,可省略,預設為3306.
1972
	#$conf["dbPort"],字串,為連線到mysql-Server時對應的port,可省略,預設為3306.
1677
	#$conf["dbPort"]="3306";
1973
	#$conf["dbPort"]="3306";
Line 1845... Line 2141...
1845
				
2141
				
1846
			#如果不是最後一個欄位
2142
			#如果不是最後一個欄位
1847
			if($i!=count($conf["newDataTableColmunName"])-1){
2143
			if($i!=count($conf["newDataTableColmunName"])-1){
1848
				
2144
				
1849
				#加上逗號
2145
				#加上逗號
1850
				$sql=$sql.",";					
2146
				$sql=$sql.",";
1851
				
2147
				
1852
				}#if end
2148
				}#if end
1853
			
2149
			
1854
			}#for end
2150
			}#for end
1855
			
2151
			
Line 1897... Line 2193...
1897
			$result["status"]="false";
2193
			$result["status"]="false";
1898
			
2194
			
1899
			#設置錯誤訊息
2195
			#設置錯誤訊息
1900
			$result["error"]=$queryResult["error"];
2196
			$result["error"]=$queryResult["error"];
1901
			
2197
			
1902
			#回傳結果				
2198
			#回傳結果
1903
			return $result;
2199
			return $result;
1904
			
2200
			
1905
			}#if end
2201
			}#if end
1906
		
2202
		
1907
		#設置執成功訊息
2203
		#設置執成功訊息
Line 4179... Line 4475...
4179
		#array_keys=>http://php.net/manual/en/function.array-keys.php
4475
		#array_keys=>http://php.net/manual/en/function.array-keys.php
4180
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
4476
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
4181
		unset($conf["variableCheck::checkArguments"]);
4477
		unset($conf["variableCheck::checkArguments"]);
4182
		
4478
		
4183
		#如果檢查失敗
4479
		#如果檢查失敗
4184
		if($checkArguments["passed"]=="false"){
4480
		if($checkArguments["passed"]==="false"){
4185
			
4481
			
4186
			#設置執行失敗識別
4482
			#設置執行失敗識別
4187
			$result["status"]="false";
4483
			$result["status"]="false";
4188
			
4484
			
4189
			#設置錯誤訊息陣列
4485
			#設置錯誤訊息陣列
Line 4193... Line 4489...
4193
			return $result;
4489
			return $result;
4194
			
4490
			
4195
			}#if end
4491
			}#if end
4196
		
4492
		
4197
		#如果檢查不通過
4493
		#如果檢查不通過
4198
		if($checkArguments["passed"]=="false"){
4494
		if($checkArguments["passed"]==="false"){
4199
			
4495
			
4200
			#設置執行失敗識別
4496
			#設置執行失敗識別
4201
			$result["status"]="false";
4497
			$result["status"]="false";
4202
			
4498
			
4203
			#設置錯誤訊息陣列
4499
			#設置錯誤訊息陣列
Line 4206... Line 4502...
4206
			#回傳結果
4502
			#回傳結果
4207
			return $result;
4503
			return $result;
4208
			
4504
			
4209
			}#if end
4505
			}#if end
4210
		
4506
		
-
 
4507
		#檢查資料庫 $conf["selectedDataBase"] 是否可以存取
-
 
4508
		#確認資料庫存在或可以被存取
-
 
4509
		#函式說明:
-
 
4510
		#執行mysql指令
-
 
4511
		#回傳結果:
-
 
4512
		#$result["status"],"true"為執行成功;"false"為執行失敗。
-
 
4513
		#$result["error"],錯誤訊息的陣列
-
 
4514
		#$result["function"],當前執行的涵式
-
 
4515
		#$result["queryResource"],mysql查詢後的resource資源,用於給mysql解析的資源變數。
-
 
4516
		#$result["queryConn"],mysql用來查尋的連資源.
-
 
4517
		#$result["queryString"],要執行的sql內容.
-
 
4518
		#必填參數:
-
 
4519
		#$conf["dbSql"],字串,要執行sql語法
-
 
4520
		$conf["db::execMysqlQuery"]["dbSql"]="show databases;";
-
 
4521
		#可省略參數:
-
 
4522
		#$conf["dbLink"],物件,mysqli物件,由mysqli_connect()回傳的物件內容,若為數值則改用賬號密碼等資訊進行連線,反之則沿用連線物件.
-
 
4523
		#$conf["db::execMysqlQuery"]["dbLink"]=$conf["connectInformation"];
-
 
4524
		#$conf["dbAddress"],字串,爲mysql-Server的位置。
-
 
4525
		$conf["db::execMysqlQuery"]["dbAddress"]=$conf["dbAddress"];
-
 
4526
		#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號。
-
 
4527
		$conf["db::execMysqlQuery"]["dbAccount"]=$conf["dbAccount"]; 
-
 
4528
		
-
 
4529
		#如果存在 $conf["dbPassword"]
-
 
4530
		if(isset($conf["dbPassword"])){
-
 
4531
		
-
 
4532
			#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼。
-
 
4533
			$conf["db::execMysqlQuery"]["dbPassword"]=$conf["dbPassword"];
-
 
4534
			
-
 
4535
			}#if end
-
 
4536
			
-
 
4537
		#$conf["dbName"],字串,爲要連的資料庫名稱
-
 
4538
		#$conf["dbName"]="";
-
 
4539
		
-
 
4540
		#如果存在 $dbPort
-
 
4541
		if(isset($conf["dbPort"])){
-
 
4542
		
-
 
4543
			#$conf["dbPort"],字串,為連線到mysql-Server時對應的port,可省略,預設為3306.
-
 
4544
			$conf["db::execMysqlQuery"]["dbPort"]=$conf["dbPort"];
-
 
4545
		
-
 
4546
			}#if end
-
 
4547
		
-
 
4548
		#$conf["autoClose"],字串,"true"代表要自動斷線,預設為"true"會自動斷線
-
 
4549
		#$conf["autoClose"]="true";
-
 
4550
		#參考資料:
-
 
4551
		#無.
-
 
4552
		#備註:
-
 
4553
		#無.
-
 
4554
		$execMysqlQuery=db::execMysqlQuery($conf["db::execMysqlQuery"]);
-
 
4555
		unset($conf["db::execMysqlQuery"]);
-
 
4556
 
-
 
4557
		#如果執行失敗
-
 
4558
		if($execMysqlQuery["status"]==="false"){
-
 
4559
		
-
 
4560
			#設置連線失敗的提示
-
 
4561
			$result["error"][]="檢查資料庫可否存取出錯";
-
 
4562
			
-
 
4563
			#設置錯誤訊息
-
 
4564
			$result["error"][]=$execMysqlQuery["error"];
-
 
4565
			
-
 
4566
			#設置執行失敗
-
 
4567
			$result["status"]="false";
-
 
4568
			
-
 
4569
			#回傳結果
-
 
4570
			return $result;
-
 
4571
			
-
 
4572
			}#if end
-
 
4573
		
-
 
4574
		#解析 $execMysqlQuery["queryResource"] 看是否存在要存取的資料庫
-
 
4575
		#函式說明:
-
 
4576
		#解析 dataTableSelect($conf) 後的結果,亦即將執行sql語法後所得到的結果解析放進變數裏面
-
 
4577
		#回傳結果:
-
 
4578
		#$result["status"],執行結果"true"為成功;"false"為失敗
-
 
4579
		#$result["error"],錯誤訊息
-
 
4580
		#$result["function"],儲存當前函數名稱
-
 
4581
		#$result["dataColumnName"],為資料欄位的名稱陣列.
-
 
4582
		#$result["dataColumnName"][$i]代表第一個欄位名稱.
-
 
4583
		#$result["dataContent"],爲資料的內容陣列,第1維度的key為$conf["tableValueName"][$i],亦即第 $i+1 個欄位的名稱,若該欄位不存在,則其value為空字串;第2維度的key為第$i+1筆資料的索引.
-
 
4584
		#$result["dataCount"],爲取得的資料筆數.
-
 
4585
		#必填參數:
-
 
4586
		#$conf["sqlQueryResult"],object,爲執行sql語法所獲得的查詢結果。
-
 
4587
		$conf["db::sendQueryDataToVariabele"]["sqlQueryResult"]=$execMysqlQuery["queryResource"];
-
 
4588
		#$conf["tableValueName"],字串陣列,爲該資料表列項目的每一項名稱,須爲陣列值,若為「array("*")」則代表所有欄位.
-
 
4589
		$conf["db::sendQueryDataToVariabele"]["tableValueName"]=array("Database");
-
 
4590
		#可省略參數:
-
 
4591
		#$conf["dbAddress"],字串,爲mysql-Server的位置,目前沒有用途.
-
 
4592
		#$conf["dbAddress"]=$dbAddress;
-
 
4593
		#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號,目前沒有用途.
-
 
4594
		#$conf["dbAccount"]=$dbAccount;
-
 
4595
		#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼,目前沒有用途.
-
 
4596
		#$conf["dbPassword"]=$dbPassword;
-
 
4597
		#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的3306 port,目前沒有用途.
-
 
4598
		#$conf["dbPort"]="";
-
 
4599
		#$conf["valueName"],字串陣列,爲該資料表列項目的每一項所要對應的變數名稱,預設為欄位的名稱($conf["tableValueName"]).
-
 
4600
		#$conf["valueName"]=$conf["tableValueName"];
-
 
4601
		#參考資料:
-
 
4602
		#http://www.w3school.com.cn/php/func_mysql_fetch_array.asp => 解析取得的資料表欄位時,能夠選擇回傳含有欄位名稱與數字代表的key.
-
 
4603
		#備註:
-
 
4604
		#無.
-
 
4605
		$sendQueryDataToVariabele=db::sendQueryDataToVariabele($conf["db::sendQueryDataToVariabele"]);
-
 
4606
		unset($conf["db::sendQueryDataToVariabele"]);
-
 
4607
 
-
 
4608
		#如果執行異常
-
 
4609
		if($sendQueryDataToVariabele["status"]==="false"){
-
 
4610
		
-
 
4611
			#設置連線失敗的提示
-
 
4612
			$result["error"][]="檢查資料庫可否存取出錯";
-
 
4613
			
-
 
4614
			#設置錯誤訊息
-
 
4615
			$result["error"][]=$sendQueryDataToVariabele["error"];
-
 
4616
			
-
 
4617
			#設置執行失敗
-
 
4618
			$result["status"]="false";
-
 
4619
			
-
 
4620
			#回傳結果
-
 
4621
			return $result;
-
 
4622
			
-
 
4623
			}#if end
-
 
4624
			
-
 
4625
		#檢查資料庫是否可以存取
-
 
4626
		#函式說明:
-
 
4627
		#檢查一個數值是否與陣列裏面的元素相同,找到一個相符合的元素後就會停止搜尋.
-
 
4628
		#回傳結果:
-
 
4629
		#$result["status"],"true"表示執行正確,"false"表示執行錯誤.
-
 
4630
		#$result["founded"],"true"表示有找到相同的,"false"表示沒有找到相同的.
-
 
4631
		#$result["error"],錯誤訊息
-
 
4632
		#$result["function"],當前執行的函數名稱
-
 
4633
		#$result["argv"],使用的參數
-
 
4634
		#$result["equalVarName"],相等的變數名稱或key.
-
 
4635
		#$result["equalVarValue"],相等的變數數值內容.
-
 
4636
		#必填參數:
-
 
4637
		#$conf["conditionElement"],字串,條件元素,要等於的元素內容.
-
 
4638
		$conf["search::getEqualVar"]["conditionElement"]=$conf["selectedDataBase"];
-
 
4639
		#$conf["compareElements"],字串陣列,要比對的陣列變數內容.
-
 
4640
		$conf["search::getEqualVar"]["compareElements"]=$sendQueryDataToVariabele["dataContent"]["Database"];
-
 
4641
		#可省略參數:
-
 
4642
		#無.
-
 
4643
		#參考資料:
-
 
4644
		#無.
-
 
4645
		#備註:
-
 
4646
		#無.
-
 
4647
		$getEqualVar=search::getEqualVar($conf["search::getEqualVar"]);
-
 
4648
		unset($conf["search::getEqualVar"]);
-
 
4649
		
-
 
4650
		#如果執行失敗
-
 
4651
		if($getEqualVar["status"]==="false"){
-
 
4652
		
-
 
4653
			#設置錯誤的提示
-
 
4654
			$result["error"][]="檢查資料庫可否存取出錯";
-
 
4655
			
-
 
4656
			#設置錯誤訊息
-
 
4657
			$result["error"][]=$getEqualVar["error"];
-
 
4658
			
-
 
4659
			#設置執行失敗
-
 
4660
			$result["status"]="false";
-
 
4661
			
-
 
4662
			#回傳結果
-
 
4663
			return $result;
-
 
4664
		
-
 
4665
			}#if end
-
 
4666
			
-
 
4667
		#如果無法存取資料庫
-
 
4668
		if($getEqualVar["founded"]==="false"){
-
 
4669
		
-
 
4670
			#設置錯誤的提示
-
 
4671
			$result["error"][]="資料庫(".$conf["selectedDataBase"].")無法存取";
-
 
4672
			
-
 
4673
			#設置錯誤訊息
-
 
4674
			$result["error"][]=$getEqualVar;
-
 
4675
			
-
 
4676
			#設置執行失敗
-
 
4677
			$result["status"]="false";
-
 
4678
			
-
 
4679
			#回傳結果
-
 
4680
			return $result;
-
 
4681
		
-
 
4682
			}#if end
-
 
4683
		
4211
		#設置要執行的sql語法
4684
		#設置要執行的sql語法
4212
		$sql="SHOW CREATE TABLE ".$conf["selectedDataBase"].".".$conf["selectedDataTable"].";";
4685
		$sql="SHOW CREATE TABLE ".$conf["selectedDataBase"].".".$conf["selectedDataTable"].";";
4213
		
4686
		
4214
		#執行sql語法
4687
		#執行sql語法
4215
		#函式說明:
4688
		#函式說明:
4216
		#執行mysql指令
4689
		#執行mysql指令
4217
		#回傳結果::
4690
		#回傳結果:
4218
		#$result["status"],"true"為執行成功;"false"為執行失敗。
4691
		#$result["status"],"true"為執行成功;"false"為執行失敗。
4219
		#$result["error"],錯誤訊息的陣列
4692
		#$result["error"],錯誤訊息的陣列
4220
		#$result["queryResource"],mysql查詢後的resource資源,用於給mysql解析的資源變數。
4693
		#$result["queryResource"],mysql查詢後的resource資源,用於給mysql解析的資源變數。
4221
		#$result["queryString"],mysql查詢的語言
4694
		#$result["queryString"],mysql查詢的語言
4222
		#查詢號的解果,需要解析。
4695
		#查詢號的解果,需要解析。
Line 4231... Line 4704...
4231
			
4704
			
4232
			#設定其密碼
4705
			#設定其密碼
4233
			$conf["db"]["execMysqlQuery"]["dbPassword"]=$conf["dbPassword"];#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
4706
			$conf["db"]["execMysqlQuery"]["dbPassword"]=$conf["dbPassword"];#爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼
4234
			
4707
			
4235
			}#if end
4708
			}#if end
4236
					
4709
		
4237
		#如果有設定 $conf["dbPort"]	
4710
		#如果有設定 $conf["dbPort"]
4238
		if(isset($conf["dbPort"])){
4711
		if(isset($conf["dbPort"])){
4239
		
4712
		
4240
			#設定 $conf["dbPort"]
4713
			#設定 $conf["dbPort"]
4241
			$conf["db"]["execMysqlQuery"]["dbPort"]=$conf["dbPort"];
4714
			$conf["db"]["execMysqlQuery"]["dbPort"]=$conf["dbPort"];
4242
		
4715
		
4243
			}#if end			
4716
			}#if end
4244
					
4717
		
4245
		$queryResult=db::execMysqlQuery($conf["db"]["execMysqlQuery"]);
4718
		$queryResult=db::execMysqlQuery($conf["db"]["execMysqlQuery"]);
4246
		unset($conf["db"]["execMysqlQuery"]);
4719
		unset($conf["db"]["execMysqlQuery"]);
4247
		
4720
		
4248
		#如果有錯誤
4721
		#如果有錯誤
4249
		if($queryResult["status"]=="false"){
4722
		if($queryResult["status"]=="false"){
Line 10446... Line 10919...
10446
	#$result["status"],"true"代表執行成功;"false"代表執行失敗.
10919
	#$result["status"],"true"代表執行成功;"false"代表執行失敗.
10447
	#$result["error"],錯誤訊息.
10920
	#$result["error"],錯誤訊息.
10448
	#$result["exist"],有為"true",無為"false".
10921
	#$result["exist"],有為"true",無為"false".
10449
	#$result["function"],當前執行的函數名稱.
10922
	#$result["function"],當前執行的函數名稱.
10450
	#必填參數:
10923
	#必填參數:
10451
	$conf["dbAddress"],字串,爲mysql-Server的位置
10924
	#$conf["dbAddress"],字串,爲mysql-Server的位置
10452
	$conf["dbAddress"]=$dbAddress;
10925
	$conf["dbAddress"]=$dbAddress;
10453
	$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號
10926
	#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號
10454
	$conf["dbAccount"]=$dbAccount;
10927
	$conf["dbAccount"]=$dbAccount;
10455
	$conf["checkDataBaseName"],字串,爲要檢查是否存在的資料庫名稱
10928
	#$conf["checkDataBaseName"],字串,爲要檢查是否存在的資料庫名稱
10456
	$conf["checkDataBaseName"]="";
10929
	$conf["checkDataBaseName"]="";
10457
	#可省略參數:
10930
	#可省略參數:
10458
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼.
10931
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼.
10459
	#$conf["dbPassword"]="";
10932
	#$conf["dbPassword"]="";
10460
	#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的3306 port.
10933
	#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的3306 port.
Line 10611... Line 11084...
10611
		$result["status"]="true";
11084
		$result["status"]="true";
10612
		
11085
		
10613
		#回傳結果
11086
		#回傳結果
10614
		return $result;	
11087
		return $result;	
10615
		
11088
		
10616
		}#function end
11089
		}#function checkDataBaseExists end
10617
 
11090
 
10618
	/*
11091
	/*
10619
	#函式說明:
11092
	#函式說明:
10620
	#尋找特定資料庫裏特定資料表裏面特定欄位有無可用整數編號,可以指定數字的起點與終點,此函式會回傳可用的編號。
11093
	#尋找特定資料庫裏特定資料表裏面特定欄位有無可用整數編號,可以指定數字的起點與終點,此函式會回傳可用的編號。
10621
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
11094
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 10976... Line 11449...
10976
		$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array("WhereColumnValue","WhereColumnOperator");
11449
		$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array("WhereColumnValue","WhereColumnOperator");
10977
		#參考資料:
11450
		#參考資料:
10978
		#array_keys=>http://php.net/manual/en/function.array-keys.php
11451
		#array_keys=>http://php.net/manual/en/function.array-keys.php
10979
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
11452
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
10980
		unset($conf["variableCheck::checkArguments"]);
11453
		unset($conf["variableCheck::checkArguments"]);
10981
								
11454
		
10982
		#如果檢查失敗
11455
		#如果檢查失敗
10983
		if($checkResult["status"]==="false"){
11456
		if($checkResult["status"]==="false"){
10984
			
11457
			
10985
			#設置執行失敗的訊息
11458
			#設置執行失敗的訊息
10986
			$result["status"]="false";
11459
			$result["status"]="false";
Line 11010... Line 11483...
11010
		#連線到資料庫
11483
		#連線到資料庫
11011
		#函式說明:
11484
		#函式說明:
11012
		#連線到資料庫,結果會回傳一個陣列
11485
		#連線到資料庫,結果會回傳一個陣列
11013
		#$result["status"],若連線成功則爲"true",連線失敗則爲"false".
11486
		#$result["status"],若連線成功則爲"true",連線失敗則爲"false".
11014
		#$result["connectInformation"],爲回傳的mysql連線資訊.
11487
		#$result["connectInformation"],爲回傳的mysql連線資訊.
11015
		#$result["error"],錯誤訊息	.
11488
		#$result["error"],錯誤訊息.
11016
		#$result["function"],當前執行的函數名稱.	
11489
		#$result["function"],當前執行的函數名稱.
11017
		#必填參數:
11490
		#必填參數:
11018
		$conf["db"]["dbConnect"]["dbAddress"]=$conf["dbAddress"];#爲mysql-Server的位置
11491
		$conf["db"]["dbConnect"]["dbAddress"]=$conf["dbAddress"];#爲mysql-Server的位置
11019
		$conf["db"]["dbConnect"]["dbAccount"]=$conf["dbAccount"];#爲用於連入mysql-Server時要使用的帳號
11492
		$conf["db"]["dbConnect"]["dbAccount"]=$conf["dbAccount"];#爲用於連入mysql-Server時要使用的帳號
11020
		#$conf["dbName"],字串,爲要連的資料庫名稱
11493
		#$conf["dbName"],字串,爲要連的資料庫名稱
11021
		$conf["db"]["dbConnect"]["dbName"]=$conf["selectedDataBaseName"];
11494
		$conf["db"]["dbConnect"]["dbName"]=$conf["selectedDataBaseName"];
Line 11468... Line 11941...
11468
	#回傳結果:
11941
	#回傳結果:
11469
	#$result["status"],執行結果"true"為成功;"false"為失敗
11942
	#$result["status"],執行結果"true"為成功;"false"為失敗
11470
	#$result["error"],錯誤訊息
11943
	#$result["error"],錯誤訊息
11471
	#$result["function"],儲存當前函數名稱
11944
	#$result["function"],儲存當前函數名稱
11472
	#$result["dataColumnName"],為資料欄位的名稱陣列.
11945
	#$result["dataColumnName"],為資料欄位的名稱陣列.
11473
		#$result["dataColumnName"][$i]代表第一個欄位名稱.
11946
	#$result["dataColumnName"][$i]代表第一個欄位名稱.
11474
	#$result["dataContent"],爲資料的內容。
-
 
11475
	#$result["dataContent"][$conf["tableValueName"][$i]][$dataSetNum],
11947
	#$result["dataContent"],爲資料的內容陣列,第1維度的key為$conf["tableValueName"][$i],亦即第 $i+1 個欄位的名稱,若該欄位不存在,則其value為空字串;第2維度的key為第$i+1筆資料的索引.
11476
		#$conf["tableValueName"][$i] 爲第 $i+1 個欄位的名稱.
-
 
11477
		#$dataSetNum 爲第$dataSetNum+1筆資料.
-
 
11478
		#若欄位不存在則會以空字串替代.
-
 
11479
	#$result["dataCount"],爲取得的資料筆數。
11948
	#$result["dataCount"],爲取得的資料筆數.
11480
	#必填參數:
11949
	#必填參數:
11481
	$conf["sqlQueryResult"],object,爲執行sql語法所獲得的查詢結果。
11950
	#$conf["sqlQueryResult"],object,爲執行sql語法所獲得的查詢結果。
11482
	$conf["sqlQueryResult"]="";
11951
	$conf["sqlQueryResult"]="";
11483
	$conf["tableValueName"],字串陣列,爲該資料表列項目的每一項名稱,須爲陣列值,若為「array("*")」則代表所有欄位.
11952
	#$conf["tableValueName"],字串陣列,爲該資料表列項目的每一項名稱,須爲陣列值,若為「array("*")」則代表所有欄位.
11484
	$conf["tableValueName"]=array();
11953
	$conf["tableValueName"]=array();
11485
	$conf["dbAddress"],字串,爲mysql-Server的位置
-
 
11486
	$conf["dbAddress"]=$dbAddress;
-
 
11487
	$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號
-
 
11488
	$conf["dbAccount"]=$dbAccount;
-
 
11489
	#可省略參數:
11954
	#可省略參數:
-
 
11955
	#$conf["dbAddress"],字串,爲mysql-Server的位置,目前沒有用途.
-
 
11956
	#$conf["dbAddress"]=$dbAddress;
-
 
11957
	#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號,目前沒有用途.
-
 
11958
	#$conf["dbAccount"]=$dbAccount;
11490
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼.
11959
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼,目前沒有用途.
11491
	#$conf["dbPassword"]=$dbPassword;
11960
	#$conf["dbPassword"]=$dbPassword;
11492
	#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的3306 port.
11961
	#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的3306 port,目前沒有用途.
11493
	#$conf["dbPort"]="";
11962
	#$conf["dbPort"]="";
11494
	#$conf["valueName"],字串陣列,爲該資料表列項目的每一項所要對應的變數名稱,預設為欄位的名稱($conf["tableValueName"]).
11963
	#$conf["valueName"],字串陣列,爲該資料表列項目的每一項所要對應的變數名稱,預設為欄位的名稱($conf["tableValueName"]).
11495
	#$conf["valueName"]=$conf["tableValueName"];
11964
	#$conf["valueName"]=$conf["tableValueName"];
11496
	#參考資料:
11965
	#參考資料:
11497
	#http://www.w3school.com.cn/php/func_mysql_fetch_array.asp => 解析取得的資料表欄位時,能夠選擇回傳含有欄位名稱與數字代表的key.
11966
	#http://www.w3school.com.cn/php/func_mysql_fetch_array.asp => 解析取得的資料表欄位時,能夠選擇回傳含有欄位名稱與數字代表的key.
Line 11543... Line 12012...
11543
		#$result["notNeedVar"],字串陣列,多餘的參數名稱.
12012
		#$result["notNeedVar"],字串陣列,多餘的參數名稱.
11544
		#必填參數:
12013
		#必填參數:
11545
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
12014
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
11546
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
12015
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
11547
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
12016
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
11548
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("dbAddress","dbAccount","sqlQueryResult","tableValueName");
12017
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("sqlQueryResult","tableValueName");
11549
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
12018
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列 例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double"); 
11550
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","string","object","array");
12019
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("object","array");
11551
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
12020
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
11552
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
12021
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
11553
		#可省略參數:
12022
		#可省略參數:
11554
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
12023
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true"。
11555
		#$conf["canBeEmptyString"]="false";
12024
		#$conf["canBeEmptyString"]="false";
11556
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
12025
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
11557
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("dbPassword","dbPort","valueName");
12026
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("dbPassword","dbPort","valueName","dbAddress","dbAccount");
11558
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
12027
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
11559
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","array");
12028
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","array","string","string");
11560
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
12029
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
11561
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,"\$conf[\"tableValueName\"]");
12030
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,"\$conf[\"tableValueName\"]",null,null);
11562
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
12031
		#$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
11563
		$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array("valueName","tableValueName");
12032
		$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array("valueName","tableValueName");
11564
		#參考資料:
12033
		#參考資料:
11565
		#array_keys=>http://php.net/manual/en/function.array-keys.php
12034
		#array_keys=>http://php.net/manual/en/function.array-keys.php
11566
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
12035
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
11567
		unset($conf["variableCheck::checkArguments"]);
12036
		unset($conf["variableCheck::checkArguments"]);
11568
								
12037
		
11569
		#如果檢查失敗
12038
		#如果檢查失敗
11570
		if($checkResult["status"]=="false"){
12039
		if($checkResult["status"]=="false"){
11571
			
12040
			
11572
			#設置執行失敗的訊息
12041
			#設置執行失敗的訊息
11573
			$result["status"]="false";
12042
			$result["status"]="false";
Line 11666... Line 12135...
11666
					
12135
					
11667
			#將讀取到的資料一次只讀取一列
12136
			#將讀取到的資料一次只讀取一列
11668
			while($row = mysqli_fetch_array($conf["sqlQueryResult"])){
12137
			while($row = mysqli_fetch_array($conf["sqlQueryResult"])){
11669
 
12138
 
11670
				#$i筆項列資料,則運行$i次。
12139
				#$i筆項列資料,則運行$i次。
11671
				for($i=0;$i<$columnCounts;$i++){			
12140
				for($i=0;$i<$columnCounts;$i++){
11672
 
12141
 
11673
					#如果欄位不存在
12142
					#如果欄位不存在
11674
					if(!isset($row[$conf["tableValueName"][$i]])){
12143
					if(!isset($row[$conf["tableValueName"][$i]])){
11675
						
12144
						
11676
						#將解析的資料內容用空字串替代放進$result["dataContent"]變數裏面
12145
						#將解析的資料內容用空字串替代放進$result["dataContent"]變數裏面
Line 11690... Line 12159...
11690
				
12159
				
11691
			#將資料筆數放進 $result["dataCount"] 裏面
12160
			#將資料筆數放進 $result["dataCount"] 裏面
11692
			$result["dataCount"]=$dataSetNum;
12161
			$result["dataCount"]=$dataSetNum;
11693
				
12162
				
11694
			}#if end
12163
			}#if end
11695
		
-
 
11696
		
-
 
11697
 
12164
 
11698
		#執行道這邊代表執行成功
12165
		#執行道這邊代表執行成功
11699
		$result["status"]="true";
12166
		$result["status"]="true";
11700
 
12167
 
11701
		#將取得的結果回傳
12168
		#將取得的結果回傳
Line 11833... Line 12300...
11833
		$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array("WhereColumnValue","WhereColumnOperator");
12300
		$conf["variableCheck::checkArguments"]["arrayCountEqualCheck"][]=array("WhereColumnValue","WhereColumnOperator");
11834
		#參考資料:
12301
		#參考資料:
11835
		#array_keys=>http://php.net/manual/en/function.array-keys.php
12302
		#array_keys=>http://php.net/manual/en/function.array-keys.php
11836
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
12303
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
11837
		unset($conf["variableCheck::checkArguments"]);
12304
		unset($conf["variableCheck::checkArguments"]);
11838
								
12305
		
11839
		#如果檢查失敗
12306
		#如果檢查失敗
11840
		if($checkResult["status"]=="false"){
12307
		if($checkResult["status"]=="false"){
11841
			
12308
			
11842
			#設置執行失敗的訊息
12309
			#設置執行失敗的訊息
11843
			$result["status"]="false";
12310
			$result["status"]="false";
Line 11874... Line 12341...
11874
			foreach($conf["columnYouWant"] as $col){
12341
			foreach($conf["columnYouWant"] as $col){
11875
				
12342
				
11876
				#取得欄位名稱
12343
				#取得欄位名稱
11877
				$colToCheck[]=$col;
12344
				$colToCheck[]=$col;
11878
				
12345
				
11879
				}#foreach end			
12346
				}#foreach end
11880
			
12347
			
11881
			}#if end
12348
			}#if end
11882
			
12349
			
11883
		#如果有設置
12350
		#如果有設置
11884
		if(isset($conf["WhereColumnName"])){
12351
		if(isset($conf["WhereColumnName"])){
Line 11887... Line 12354...
11887
			foreach($conf["WhereColumnName"] as $col){
12354
			foreach($conf["WhereColumnName"] as $col){
11888
				
12355
				
11889
				#取得欄位名稱
12356
				#取得欄位名稱
11890
				$colToCheck[]=$col;
12357
				$colToCheck[]=$col;
11891
				
12358
				
11892
				}#foreach end			
12359
				}#foreach end
11893
			
12360
			
11894
			}#if end
12361
			}#if end
11895
		
12362
		
11896
		#如果有設置 $conf["whereIn"]
12363
		#如果有設置 $conf["whereIn"]
11897
		if(isset($conf["whereIn"])){
12364
		if(isset($conf["whereIn"])){
11898
						
12365
			
11899
			#針對每個 where in 條件
12366
			#針對每個 where in 條件
11900
			for($i=0;$i<count($conf["whereIn"]);$i++){
12367
			for($i=0;$i<count($conf["whereIn"]);$i++){
11901
				
12368
				
11902
				#取得欄位名稱
12369
				#取得欄位名稱
11903
				$colToCheck[]=$conf["whereIn"][$i][0];
12370
				$colToCheck[]=$conf["whereIn"][$i][0];
Line 12099... Line 12566...
12099
			
12566
			
12100
			}#if end
12567
			}#if end
12101
			
12568
			
12102
		#如果 $conf["whereNotIn"] 存在
12569
		#如果 $conf["whereNotIn"] 存在
12103
		if(isset($conf["whereNotIn"])){
12570
		if(isset($conf["whereNotIn"])){
12104
				
12571
			
12105
			#where not in 條件	
12572
			#where not in 條件
12106
			$conf["db"]["dataTableSelectCustomV2"]["whereNotIn"]=$conf["whereNotIn"];
12573
			$conf["db"]["dataTableSelectCustomV2"]["whereNotIn"]=$conf["whereNotIn"];
12107
			
12574
			
12108
			}#if end
12575
			}#if end
12109
		
12576
		
12110
		$dataTableSelectCustomV2=db::dataTableSelect($conf["db"]["dataTableSelectCustomV2"]);
12577
		$dataTableSelectCustomV2=db::dataTableSelect($conf["db"]["dataTableSelectCustomV2"]);
12111
		unset($conf["db"]);
12578
		unset($conf["db"]);
12112
					
12579
		
12113
		#如果sql查詢失敗
12580
		#如果sql查詢失敗
12114
		#如果 $dataTableSelectCustomV2["status"] 等於 "false"
12581
		#如果 $dataTableSelectCustomV2["status"] 等於 "false"
12115
		if($dataTableSelectCustomV2["status"]=="false"){
12582
		if($dataTableSelectCustomV2["status"]=="false"){
12116
			
12583
			
12117
			#則設置執行錯誤的識別
12584
			#則設置執行錯誤的識別
Line 12411... Line 12878...
12411
			
12878
			
12412
			}#if end
12879
			}#if end
12413
			
12880
			
12414
		#如果 $conf["WhereColumnValue"] 有設置
12881
		#如果 $conf["WhereColumnValue"] 有設置
12415
		if(isset($conf["WhereColumnValue"])){
12882
		if(isset($conf["WhereColumnValue"])){
12416
				
12883
			
12417
			$conf["db"]["fastGetDbData"]["WhereColumnValue"]=$conf["WhereColumnValue"];#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
12884
			$conf["db"]["fastGetDbData"]["WhereColumnValue"]=$conf["WhereColumnValue"];#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
12418
				
12885
			
12419
			}#if end
12886
			}#if end
12420
			
12887
			
12421
		#如果 $conf["WhereColumnCombine"] 有設置
12888
		#如果 $conf["WhereColumnCombine"] 有設置
12422
		if(isset($conf["WhereColumnCombine"])){
12889
		if(isset($conf["WhereColumnCombine"])){
12423
				
12890
			
12424
			$conf["db"]["fastGetDbData"]["WhereColumnCombine"]=$conf["WhereColumnCombine"];#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
12891
			$conf["db"]["fastGetDbData"]["WhereColumnCombine"]=$conf["WhereColumnCombine"];#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
12425
				
12892
			
12426
			}#if end
12893
			}#if end
12427
			
12894
			
12428
		#如果 $conf["WhereColumnOperator"] 有設置
12895
		#如果 $conf["WhereColumnOperator"] 有設置
12429
		if(isset($conf["WhereColumnOperator"])){
12896
		if(isset($conf["WhereColumnOperator"])){
12430
				
12897
				
Line 12467... Line 12934...
12467
				
12934
				
12468
			}#if end
12935
			}#if end
12469
			
12936
			
12470
		#如果 $conf["groupBy"] 有設置
12937
		#如果 $conf["groupBy"] 有設置
12471
		if(isset($conf["groupBy"])){
12938
		if(isset($conf["groupBy"])){
12472
				
12939
			
12473
			$conf["db"]["fastGetDbData"]["groupBy"]=$conf["groupBy"];#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
12940
			$conf["db"]["fastGetDbData"]["groupBy"]=$conf["groupBy"];#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
12474
				
12941
			
12475
			}#if end
12942
			}#if end
12476
					
12943
		
12477
		#如果 $conf["whereIn"] 存在
12944
		#如果 $conf["whereIn"] 存在
12478
		if(isset($conf["whereIn"])){
12945
		if(isset($conf["whereIn"])){
12479
					
12946
			
12480
			#where in 條件		
12947
			#where in 條件
12481
			$conf["db"]["fastGetDbData"]["whereIn"]=$conf["whereIn"];
12948
			$conf["db"]["fastGetDbData"]["whereIn"]=$conf["whereIn"];
12482
			
12949
			
12483
			}#if end
12950
			}#if end
12484
			
12951
			
12485
		#如果 $conf["whereNotIn"] 存在
12952
		#如果 $conf["whereNotIn"] 存在
12486
		if(isset($conf["whereNotIn"])){
12953
		if(isset($conf["whereNotIn"])){
12487
				
12954
			
12488
			#where not in 條件	
12955
			#where not in 條件	
12489
			$conf["db"]["fastGetDbData"]["whereNotIn"]=$conf["whereNotIn"];
12956
			$conf["db"]["fastGetDbData"]["whereNotIn"]=$conf["whereNotIn"];
12490
			
12957
			
12491
			}#if end
12958
			}#if end
12492
							
12959
		
12493
		#儲存到 $result["mainTable"] 陣列裡面
12960
		#儲存到 $result["mainTable"] 陣列裡面
12494
		$result["parentTable"]=db::fastGetDbData($conf["db"]["fastGetDbData"]);
12961
		$result["parentTable"]=db::fastGetDbData($conf["db"]["fastGetDbData"]);
12495
		unset($conf["db"]["fastGetDbData"]);
12962
		unset($conf["db"]["fastGetDbData"]);
12496
		
12963
		
12497
		#如果 $result["mainTable"]["status"] 為 "false"
12964
		#如果 $result["mainTable"]["status"] 為 "false"
Line 12607... Line 13074...
12607
					#針對每個取得的新欄位
13074
					#針對每個取得的新欄位
12608
					foreach($childTable[$j]["dataContent"] as $newColumnNameArray=>$newColumnNameValue){
13075
					foreach($childTable[$j]["dataContent"] as $newColumnNameArray=>$newColumnNameValue){
12609
						
13076
						
12610
						#新增第$j筆的欄位名稱與數值
13077
						#新增第$j筆的欄位名稱與數值
12611
						$result["parentTable"]["dataContent"][$conf["tableName"][$i+1].".".$newColumnNameArray][$j]=$newColumnNameValue[0];
13078
						$result["parentTable"]["dataContent"][$conf["tableName"][$i+1].".".$newColumnNameArray][$j]=$newColumnNameValue[0];
12612
							
13079
						
12613
						}#foreach end
13080
						}#foreach end
12614
					
13081
					
12615
					}#if end
13082
					}#if end
12616
					
13083
					
12617
				#反之代表 $childTable[$j]["dataContent"] 沒有設置,沒有符合的資料
13084
				#反之代表 $childTable[$j]["dataContent"] 沒有設置,沒有符合的資料
Line 12624... Line 13091...
12624
						$result["parentTable"]["dataContent"][$conf["tableName"][$i+1].".".$newColumnName][$j]="";
13091
						$result["parentTable"]["dataContent"][$conf["tableName"][$i+1].".".$newColumnName][$j]="";
12625
						
13092
						
12626
						}#foreach end
13093
						}#foreach end
12627
					
13094
					
12628
					}#else end
13095
					}#else end
12629
								
13096
				
12630
				}#for end
13097
				}#for end
12631
			
13098
			
12632
			}#for end
13099
			}#for end
12633
			
13100
			
12634
		#執行到這邊代表執行成功
13101
		#執行到這邊代表執行成功