Subversion Repositories php-qbpwcf

Rev

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

Rev 177 Rev 183
Line 1375... Line 1375...
1375
	#$result["queryString"],mysql查詢的語言.
1375
	#$result["queryString"],mysql查詢的語言.
1376
	#必填參數:
1376
	#必填參數:
1377
	#$conf["fileArgu"],字串,變數__FILE__的內容.
1377
	#$conf["fileArgu"],字串,變數__FILE__的內容.
1378
	$conf["fileArgu"]=__FILE__;
1378
	$conf["fileArgu"]=__FILE__;
1379
	#$conf["dbSql"],字串,要執行sql語法
1379
	#$conf["dbSql"],字串,要執行sql語法
1380
	$conf["dbSql"]="";
1380
	$conf["dbSql"]="";	
1381
	#$conf["dbAddress"],字串,爲mysql-Server的位置。
-
 
1382
	$conf["dbAddress"]=$dbAddress;
-
 
1383
	#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號。
1381
	#$conf["dbAccount"],字串,爲用於連入mysql-Server時要使用的帳號。
1384
	$conf["dbAccount"]=$dbAccount; 
1382
	$conf["dbAccount"]=$dbAccount; 
1385
	#可省略參數:
1383
	#可省略參數:
-
 
1384
	#$conf["dbAddress"],字串,爲mysql-Server的位置,若設置為"localhost",則會忽略,預設為不指定,會嘗試透過unix domain socket來存取資料庫.
-
 
1385
	#$conf["dbAddress"]=$dbAddress;
1386
	#$conf["pre"],陣列,要在本指令前執行的每個指令與參數.$conf["pre"][$i]["cmd"],字串,要在本指令前執行的第$i+1個指令.$conf["pre"][$i]["param"],陣列字串,要在本指令前執行的第$i+1個指令的參數.
1386
	#$conf["pre"],陣列,要在本指令前執行的每個指令與參數.$conf["pre"][$i]["cmd"],字串,要在本指令前執行的第$i+1個指令.$conf["pre"][$i]["param"],陣列字串,要在本指令前執行的第$i+1個指令的參數.
1387
	#$conf["pre"]=array();
1387
	#$conf["pre"]=array();
1388
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼。
1388
	#$conf["dbPassword"],字串,爲連線到mysql-Server時要使用的密碼,可省略,若省略則代表不使用密碼。
1389
	#$conf["dbPassword"]=$dbPassword;
1389
	#$conf["dbPassword"]=$dbPassword;
1390
	#$conf["dbName"],字串,爲要連的資料庫名稱
1390
	#$conf["dbName"],字串,爲要連的資料庫名稱
Line 1454... Line 1454...
1454
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1454
		#$conf["variableCheck::checkArguments"]["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
1455
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("pre","dbAddress","dbPassword","dbName","dbPort");
1455
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("pre","dbAddress","dbPassword","dbName","dbPort");
1456
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
1456
		#$conf["variableCheck::checkArguments"]["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
1457
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array","string","string","string","string");
1457
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array","string","string","string","string");
1458
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
1458
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是必填參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
1459
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,"localhost",null,null,"3306");
1459
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,null,null,null,"3306");
1460
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1460
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
1461
		#$conf["arrayCountEqualCheck"][]=array();
1461
		#$conf["arrayCountEqualCheck"][]=array();
1462
		#參考資料:
1462
		#參考資料:
1463
		#array_keys=>http://php.net/manual/en/function.array-keys.php
1463
		#array_keys=>http://php.net/manual/en/function.array-keys.php
1464
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
1464
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
Line 1489... Line 1489...
1489
			
1489
			
1490
			#回傳解果
1490
			#回傳解果
1491
			return $result;
1491
			return $result;
1492
			
1492
			
1493
			}#if end
1493
			}#if end
1494
	
-
 
1495
		#shell不接受「`」
-
 
1496
		#函式說明:
-
 
1497
		#處理字串避免網頁出錯
-
 
1498
		#回傳結果::
-
 
1499
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
1500
		#$result["function"],當前執行的函數.
-
 
1501
		#$result["content"],爲處理好的字串.
-
 
1502
		#$result["error"],錯誤訊息陣列.
-
 
1503
		#$result["argu"],使用的參數. 
-
 
1504
		#必填參數:
-
 
1505
		$conf["stringProcess::correctCharacter"]["stringIn"]=$conf["dbSql"];#爲要處理的字串
-
 
1506
		#可省略參數:
-
 
1507
		$conf["stringProcess::correctCharacter"]["selectedCharacter"]=array("`");#爲被選擇要處理的字串/字元,須爲陣列值。
-
 
1508
			#若不設定則預設爲要將這些字串作替換 ("<",">","=","//","'","$","%","&","|","/*","*","#","\"").
-
 
1509
			#特殊字元,「\n」代表換行,「\t」代表tab鍵的間隔
-
 
1510
		$conf["stringProcess::correctCharacter"]["changeTo"]=array("");#爲被選擇的字元要換成什麼字串/字元,須爲陣列值。若不設定,則預設爲更換成""(空字串).
-
 
1511
		#備註:
-
 
1512
		#無.
-
 
1513
		$correctCharacter=stringProcess::correctCharacter($conf["stringProcess::correctCharacter"]);
-
 
1514
		unset($conf["stringProcess::correctCharacter"]);
-
 
1515
	
-
 
1516
		#如果檢查失敗
-
 
1517
		if($correctCharacter["status"]=="false"){
-
 
1518
			
-
 
1519
			#設置錯誤識別
-
 
1520
			$result["status"]="false";
-
 
1521
			
-
 
1522
			#設置錯誤訊息
-
 
1523
			$result["error"]=$correctCharacter;
-
 
1524
			
-
 
1525
			#回傳解果
-
 
1526
			return $result;
-
 
1527
			
-
 
1528
			}#if end
-
 
1529
			
1494
		
1530
		#取得處理後的 sql
-
 
1531
		$sql=$correctCharacter["content"];	
-
 
1532
	
-
 
1533
		#避免亂碼
1495
		#避免亂碼
1534
		$sql="SET NAMES UTF8;"."SET CHARACTER_SET_CLIENT=utf8;"."SET CHARACTER_SET_RESULTS=utf8;".$sql;
1496
		$sql="SET NAMES UTF8;"."SET CHARACTER_SET_CLIENT=utf8;"."SET CHARACTER_SET_RESULTS=utf8;".$conf["dbSql"];
1535
	
1497
	
1536
		#初始化參數
1498
		#初始化參數
1537
		$argu=array();
1499
		$argu=array();
1538
	
1500
	
1539
		#精簡的參數
1501
		#精簡的參數
1540
		$argu[]=$sql;
1502
		$argu[]=$sql;
1541
		$argu[]="|";
1503
		$argu[]="|";
1542
		$argu[]="mysql";
1504
		$argu[]="mysql";
1543
		$argu[]="-u";
1505
		$argu[]="-u";
1544
		$argu[]=$conf["dbAccount"];	
1506
		$argu[]=$conf["dbAccount"];
1545
	
1507
	
1546
		#如果有設置 $conf["dbPassword"]
1508
		#如果有設置 $conf["dbPassword"]
1547
		if(isset($conf["dbPassword"])){
1509
		if(isset($conf["dbPassword"])){
1548
		
1510
		
1549
			#加上密碼參數
1511
			#加上密碼參數
1550
			$argu[]="-p".$conf["dbPassword"];
1512
			$argu[]="-p".$conf["dbPassword"];
1551
		
1513
		
1552
			}#if end
1514
			}#if end
-
 
1515
		
-
 
1516
		#如果有指定 dbAddress
-
 
1517
		if(isset($conf["dbAddress"])){
-
 
1518
		
-
 
1519
			#如果不為 localhost
-
 
1520
			if($conf["dbAddress"]!=="localhost"){
1553
			
1521
			
1554
		#加上 位置參數
1522
				#加上 位置參數
1555
		$argu[]="-h".$conf["dbAddress"];
1523
				$argu[]="-h".$conf["dbAddress"];
-
 
1524
			
-
 
1525
				}#if end
-
 
1526
		
-
 
1527
			}#if end
1556
		
1528
		
1557
		#如果有設置 $conf["dbName"]
1529
		#如果有設置 $conf["dbName"]
1558
		if(isset($conf["dbName"])){
1530
		if(isset($conf["dbName"])){
1559
		
1531
		
1560
			#加上資料庫名稱參數
1532
			#加上資料庫名稱參數
1561
			$argu[]=$conf["dbName"];
1533
			$argu[]=$conf["dbName"];
1562
		
1534
		
1563
			}#if end
1535
			}#if end
1564
	
-
 
1565
		#建立暫存的檔案
-
 
1566
	
1536
		
1567
		#將指令寫入暫存的檔案裡面
-
 
1568
	
-
 
1569
		#函式說明:
1537
		#函式說明:
1570
		#呼叫shell執行系統命令,並取得回傳的內容.
1538
		#呼叫shell執行系統命令,並取得回傳的內容.
1571
		#回傳結果:
1539
		#回傳結果:
1572
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1540
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1573
		#$result["error"],錯誤訊息陣列.
1541
		#$result["error"],錯誤訊息陣列.
Line 1582... Line 1550...
1582
		#$result["statusCode"],執行結束後的代碼.
1550
		#$result["statusCode"],執行結束後的代碼.
1583
		#必填的參數
1551
		#必填的參數
1584
		#$conf["command"],字串,要執行的指令與.
1552
		#$conf["command"],字串,要執行的指令與.
1585
		$conf["external::callShell"]["command"]="echo";
1553
		$conf["external::callShell"]["command"]="echo";
1586
		#$conf["fileArgu"],字串,變數__FILE__的內容.
1554
		#$conf["fileArgu"],字串,變數__FILE__的內容.
1587
		$conf["external::callShell"]["fileArgu"]=$conf["fileArgu"];		
1555
		$conf["external::callShell"]["fileArgu"]=$conf["fileArgu"];
1588
		#可省略參數:
1556
		#可省略參數:
1589
		#$conf["argu"],陣列字串,指令搭配的參數,預設為空陣列.
1557
		#$conf["argu"],陣列字串,指令搭配的參數,預設為空陣列.
1590
		$conf["external::callShell"]["argu"]=$argu;
1558
		$conf["external::callShell"]["argu"]=$argu;
1591
		#$conf["arguIsAddr"],陣列字串,指令搭配的哪些參數為路徑,為路徑的參數會進行轉換以便符合呼叫當前函數的位置,預設不指定,若有3個參數,其中第3個參數為路徑,則表示為array("false","false","true").
1559
		#$conf["arguIsAddr"],陣列字串,指令搭配的哪些參數為路徑,為路徑的參數會進行轉換以便符合呼叫當前函數的位置,預設不指定,若有3個參數,其中第3個參數為路徑,則表示為array("false","false","true").
1592
		#$conf["arguIsAddr"]=array();	
1560
		#$conf["arguIsAddr"]=array();	
Line 1594... Line 1562...
1594
		#如果有參數
1562
		#如果有參數
1595
		if(count($argu)>0){
1563
		if(count($argu)>0){
1596
			
1564
			
1597
			#$conf["thereIsShellVar"],陣列字串,指令搭配的參數"argu",若含有「\'」,則取代為「"」.每個argu參數都要有對應的元素."true"代表要置換.
1565
			#$conf["thereIsShellVar"],陣列字串,指令搭配的參數"argu",若含有「\'」,則取代為「"」.每個argu參數都要有對應的元素."true"代表要置換.
1598
			$conf["external::callShell"]["thereIsShellVar"]=array();
1566
			$conf["external::callShell"]["thereIsShellVar"]=array();
1599
						
1567
			
1600
			#針對每個參數
1568
			#針對每個參數
1601
			for($i=0;$i<count($argu);$i++){
1569
			for($i=0;$i<count($argu);$i++){
1602
			
1570
			
1603
				#第一個參數
1571
				#第一個參數
1604
				if($i===0){
1572
				if($i===0){
Line 1658... Line 1626...
1658
		#escapeshellarg=>http://php.net/manual/en/function.escapeshellarg.php
1626
		#escapeshellarg=>http://php.net/manual/en/function.escapeshellarg.php
1659
		$callShell=external::callShell($conf["external::callShell"]);
1627
		$callShell=external::callShell($conf["external::callShell"]);
1660
		unset($conf["external::callShell"]);
1628
		unset($conf["external::callShell"]);
1661
 
1629
 
1662
		#debug
1630
		#debug
1663
		#var_dump($callShell);
1631
		#var_dump(__LINE__,$callShell);
1664
		#exit;
-
 
1665
 
1632
 
1666
		#如果檢查參數作業出錯
1633
		#如果檢查參數作業出錯
1667
		if($callShell["status"]=="false"){
1634
		if($callShell["status"]=="false"){
1668
			
1635
			
1669
			/* debug
-
 
1670
			$fsock=fopen("/var/www/html/log/log.txt","a");
-
 
1671
			fwrite($fsock,"func:".__CLASS__." line:".__LINE__.":".print_r($callShell,true).PHP_EOL.PHP_EOL);
-
 
1672
			fclose($fsock);
-
 
1673
			*/
-
 
1674
			
-
 
1675
			#設置執行錯誤識別
1636
			#設置執行錯誤識別
1676
			$result["status"]="false";
1637
			$result["status"]="false";
1677
			
1638
			
1678
			#設置錯誤訊息
1639
			#設置錯誤訊息
1679
			$result["error"]=$callShell;
1640
			$result["error"]=$callShell;
Line 1757... Line 1718...
1757
			return $result;
1718
			return $result;
1758
		
1719
		
1759
			}#if end
1720
			}#if end
1760
			
1721
			
1761
		#用新的id再傳送一次要求給 qbpwcf_usock_path
1722
		#用新的id再傳送一次要求給 qbpwcf_usock_path
1762
		$paramsOfUnixDomainSockClient["id"]=$jsonRes->id;		
1723
		$paramsOfUnixDomainSockClient["id"]=$jsonRes->id;
1763
		$unixDomainSockClient=sock::unixDomainSockClient($paramsOfUnixDomainSockClient);
1724
		$unixDomainSockClient=sock::unixDomainSockClient($paramsOfUnixDomainSockClient);
1764
		unset($paramsOfUnixDomainSockClient);
1725
		unset($paramsOfUnixDomainSockClient);
1765
		
1726
		
1766
		#var_dump($unixDomainSockClient);
1727
		#var_dump($unixDomainSockClient);
1767
		
1728
		
Line 14301... Line 14262...
14301
			#回傳結果
14262
			#回傳結果
14302
			return $result;
14263
			return $result;
14303
			
14264
			
14304
			}#if end
14265
			}#if end
14305
			
14266
			
14306
		#var_dump($con);	
14267
		#var_dump($con);
14307
			
14268
			
14308
		#取得mysqli物件
14269
		#取得mysqli物件
14309
		$mysqli=$con["connectInformation"];
14270
		$mysqli=$con["connectInformation"];
14310
 
14271
 
14311
		#輸入資料到 資料表 board 的語法
14272
		#輸入資料到 資料表 board 的語法
Line 14315... Line 14276...
14315
		$count=count($conf["columnName"]);
14276
		$count=count($conf["columnName"]);
14316
 
14277
 
14317
		#跑 $count-1 次,插入第一筆到最倒數第二筆
14278
		#跑 $count-1 次,插入第一筆到最倒數第二筆
14318
		for($i=0;$i<=($count-2);$i++){
14279
		for($i=0;$i<=($count-2);$i++){
14319
		
14280
		
14320
			#放入欲插入的項目名稱			
14281
			#放入欲插入的項目名稱
14321
			$str1=$str1."`".$conf["columnName"][$i]."`".",";
14282
			$str1=$str1."`".$conf["columnName"][$i]."`".",";
14322
			
14283
			
14323
			}#for end
14284
			}#for end
14324
 
14285
 
14325
		#插入最後一筆項目名稱
14286
		#插入最後一筆項目名稱
Line 14443... Line 14404...
14443
	#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的port 3306.
14404
	#$conf["dbPort"],字串,爲連線到mysql-Server時要使用的port,可省略,若省略則代表使用預設的port 3306.
14444
	#$conf["dbPort"]=$dbPort;
14405
	#$conf["dbPort"]=$dbPort;
14445
	#參考資料:
14406
	#參考資料:
14446
	#無.
14407
	#無.
14447
	#備註:
14408
	#備註:
14448
	#無.
-
 
-
 
14409
	#建議修改 whereValue 參數為多維陣列,每個元素為有兩個元素的陣列,其元素的key為operator者代表運算子,其value可以為"=","<>",">","<",預設為"=";key為value者代表運算元,亦即用來比較的數字、字串等.
14449
	*/
14410
	*/
14450
	public static function updateDataTableContent($conf){
14411
	public static function updateDataTableContent($conf){
14451
	
14412
	
14452
		#初始化要回傳的內容
14413
		#初始化要回傳的內容
14453
		$result=array();
14414
		$result=array();
Line 14595... Line 14556...
14595
					}#if end
14556
					}#if end
14596
 
14557
 
14597
				#定義 shell script 變數
14558
				#定義 shell script 變數
14598
				$shellVarDefined[]=array("cmd"=>"x".$i."=","param"=>array($conf["updateDataValue"][$i]));
14559
				$shellVarDefined[]=array("cmd"=>"x".$i."=","param"=>array($conf["updateDataValue"][$i]));
14599
				
14560
				
14600
				#定義變數
14561
				#定義sql變數
14601
				#$varDefined[]="select @x".$i." := '\${x".$i."}';";
14562
				$varDefined[]="select @x".$i." := '\${x".$i."}';";
14602
				$varDefined[]="select @x".$i." := \${x".$i."};";
-
 
14603
 
14563
 
14604
				#將要更新的內容字串串接,結尾無逗號                             
14564
				#將要更新的內容字串串接,結尾無逗號
14605
				$chooseColumnSql = $chooseColumnSql."`".$conf["tableColumnName"][$i]."`= @x".$i." ";
14565
				$chooseColumnSql = $chooseColumnSql."`".$conf["tableColumnName"][$i]."`= @x".$i." ";
14606
				
14566
				
14607
				}#判斷式結束
14567
				}#判斷式結束
14608
 
14568
 
14609
			#如果不是最後一項要更新的資料
14569
			#如果不是最後一項要更新的資料
14610
			if($i!=($counts-1)){
14570
			if($i!=($counts-1)){
14611
 
14571
 
14612
				#定義 shell script 變數
14572
				#定義 shell script 變數
14613
				$shellVarDefined[]=array("cmd"=>"x".$i."=","param"=>array($conf["updateDataValue"][$i]));
14573
				$shellVarDefined[]=array("cmd"=>"x".$i."=","param"=>array($conf["updateDataValue"][$i]));
14614
				
14574
				
14615
				#sql定義變數
14575
				#定義sql變數
14616
				#$varDefined[]="select @x".$i." := '\${x".$i."}';";
14576
				$varDefined[]="select @x".$i." := '\${x".$i."}';";
14617
				$varDefined[]="select @x".$i." := \${x".$i."};";
-
 
14618
 
14577
 
14619
				#將要更新的內容字串串接,結尾有逗號
14578
				#將要更新的內容字串串接,結尾有逗號
14620
				$chooseColumnSql = $chooseColumnSql."`".$conf["tableColumnName"][$i]."`= @x".$i." ,";
14579
				$chooseColumnSql = $chooseColumnSql."`".$conf["tableColumnName"][$i]."`= @x".$i." ,";
14621
				
14580
				
14622
				}#判斷式結束
14581
				}#判斷式結束
14623
		
14582
		
14624
			}#回圈結束
14583
			}#回圈結束
14625
 
14584
 
14626
		#取得條件有幾項
14585
		#取得條件有幾項
14627
		$conditionArrayCounts=count($conf["whereColumn"]);				
14586
		$conditionArrayCounts=count($conf["whereColumn"]);
14628
 
14587
 
14629
		#構成條件式
14588
		#構成條件式
14630
		for($i=0;$i<$conditionArrayCounts;$i++){
14589
		for($i=0;$i<$conditionArrayCounts;$i++){
14631
 
14590
 
14632
			#如果是第一筆
14591
			#如果是第一筆
14633
			if($i==0){
14592
			if($i===0){
14634
 
14593
 
14635
				#尋找的條件式
14594
				#尋找的條件式
14636
				$condition="WHERE `".$conf["whereColumn"][$i]."` = '".$conf["whereValue"][$i]."'";
14595
				$condition="WHERE `".$conf["whereColumn"][$i]."` = '".$conf["whereValue"][$i]."'";
14637
 
14596
 
14638
				#測試有無抓到第一個條件
14597
				#測試有無抓到第一個條件
14639
				#var_dump($condition);
14598
				#var_dump($condition);
14640
 
14599
 
14641
				}#判斷式結束
14600
				}#判斷式結束
14642
 
14601
 
14643
			#如果不是第一筆
14602
			#如果不是第一筆
14644
			if($i!=0){
14603
			if($i!==0){
14645
 
14604
 
14646
				#其它條件
14605
				#其它條件
14647
				$condition=$condition." AND `".$conf["whereColumn"][$i]."` = '".$conf["whereValue"][$i]."'";
14606
				$condition=$condition." AND `".$conf["whereColumn"][$i]."` = '".$conf["whereValue"][$i]."'";
14648
 
14607
 
14649
				#測試有無抓到其它條件
14608
				#測試有無抓到其它條件
Line 14659... Line 14618...
14659
		#針對每個要使用的數值
14618
		#針對每個要使用的數值
14660
		foreach($varDefined as $index=>$var){
14619
		foreach($varDefined as $index=>$var){
14661
			
14620
			
14662
			#累加定義變數的sql
14621
			#累加定義變數的sql
14663
			$varDefineStr=$varDefineStr.$var;
14622
			$varDefineStr=$varDefineStr.$var;
14664
								
14623
			
14665
			}#foreach end
14624
			}#foreach end
14666
 
14625
 
14667
		#合併所有的語法成一句完整的語法 
14626
		#合併所有的語法成一句完整的語法 
14668
		$sqlString = $varDefineStr.$selectUpdateTableSql.$chooseColumnSql.$condition;
14627
		$sqlString = $varDefineStr.$selectUpdateTableSql.$chooseColumnSql.$condition;
14669
 
14628
 
-
 
14629
		#debug
-
 
14630
		#var_dump(__LINE__,$sqlString);
-
 
14631
 
14670
		#設置取得執行的sql語法
14632
		#設置取得執行的sql語法
14671
		$result["sql"]=$sqlString;
14633
		$result["sql"]=$sqlString;
14672
 
14634
 
14673
		#函式說明:
14635
		#函式說明:
14674
		#用shell執行mysql指令.
14636
		#用shell執行mysql指令.
Line 14708... Line 14670...
14708
		
14670
		
14709
			}#if end
14671
			}#if end
14710
		
14672
		
14711
		$shell=db::shell($conf["db::shell"]);
14673
		$shell=db::shell($conf["db::shell"]);
14712
		unset($conf["db::shell"]);
14674
		unset($conf["db::shell"]);
14713
 
-
 
14714
		/* debug
-
 
14715
		$fsock=fopen("/var/www/html/log/log.txt","a");
-
 
14716
		fwrite($fsock,"func:".__CLASS__." line:".__LINE__.":".print_r($shell,true).PHP_EOL.PHP_EOL);
-
 
14717
		fclose($fsock);
-
 
14718
		*/
14675
		
14719
 
-
 
14720
		#如果執行sql失敗
14676
		#如果執行sql失敗
14721
		if($shell["status"]==="false"){
14677
		if($shell["status"]==="false"){
14722
						
14678
		
14723
			#設置執行不正常
14679
			#設置執行不正常
14724
			$result["status"]="false";	
14680
			$result["status"]="false";
14725
			
14681
			
14726
			#設置錯誤訊息
14682
			#設置錯誤訊息
14727
			$result["error"]=$shell;
14683
			$result["error"]=$shell;
14728
				
14684
				
14729
			#回傳結果
14685
			#回傳結果