1銆佸緩鏁版嵁搴撳拰琛? -- ---------------------------- -- 琛?`dede_test`缁撴瀯 -- ---------------------------- DROP TABLE IF EXISTS `dede_test`; CREATE TABLE `dede_test` ( `id` mediumint(8) NOT NULL AUTO_INCREMENT, `name` char(60) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=gbk; -- ---------------------------- -- 鎻掑叆鍒?dede_test涓殑鏁版嵁 -- ---------------------------- INSERT INTO `dede_test` VALUES ('1', '娴嬭瘯鍚嶅瓧1'); INSERT INTO `dede_test` VALUES ('2', '杩欐槸绗簩涓?); INSERT INTO `dede_test` VALUES ('3', '绗笁涓柦'); INSERT INTO `dede_test` VALUES ('4', '绗洓涓?); 2.杩炴帴鏁版嵁搴?鏌ヨ鏁版嵁琛? 聽聽聽 琛?dede_test"鎴戜滑宸茬粡鍒涘緩瀹屾垚浜?鎺ヤ笅鏉ユ垜浠杩炴帴鏁版嵁搴撲簡,鍏跺疄鏂規硶闈炲父绠€鍗?鎴戜滑鍦ㄧ綉绔欐牴鐩綍涓垱寤轟竴涓猼est.php鐨勬枃浠?杩欎釜鏂囦歡鏈€濂戒篃鐢╣bk鐨勭紪鐮?鍙互鐢ㄤ笓闂ㄧ殑缂栬緫鍣ㄦ潵鍒涘緩鏂囦歡. 聽聽聽 杩炴帴鏁版嵁搴撴渶绠€鍗曠殑鏂規硶灏辨槸寮曞叆include鏂囦歡澶逛笅闈㈢殑common.inc.php鏂囦歡,缂栬緫php浠g爜: 鍐欏叆浠ヤ笅鍐呭: test.php ------------------------------- <?php 聽聽聽 聽聽聽 require_once (dirname(__FILE__) . "/include/common.inc.php"); 聽聽聽 聽聽聽 print_r($dsql); ?> -------------------------------- 聽聽聽 涓婇潰浠g爜灏辨槸灏嗕竴涓?dsql绫昏緭鍑?鎴戜滑鍐嶆墽琛屼笅杩欎釜鏂囦歡http://www.dedebbs.com/test.php(娉╠edebbs.com鍙槸鍦ㄦ湰鍦闆仛浜嗕釜瑙f瀽,鍏跺疄灏辨槸localhost),鎴戜滑鏌ョ湅婧愪唬鐮?鐪嬪埌涓嬮潰鐨勫唴瀹? DedeSql Object ( 聽聽聽 [linkID] => Resource id #6 聽聽聽 [dbHost] => localhost 聽聽聽 [dbUser] => root 聽聽聽 [dbPwd] => 123456 聽聽聽 [dbName] => dedebbs 聽聽聽 [dbPrefix] => dede_ 聽聽聽 [result] => Array 聽聽聽聽聽聽聽 ( 聽聽聽聽聽聽聽聽聽聽聽 [me] => 0 聽聽聽聽聽聽聽 ) 聽聽聽 [queryString] => 聽聽聽 [parameters] => Array 聽聽聽聽聽聽聽 ( 聽聽聽聽聽聽聽 ) 聽聽聽 [isClose] => 聽聽聽 [safeCheck] => 1 ) 聽聽聽 杩欎釜灏辮鏄庢垜浠凡缁忔垚鍔熻繛鎺ユ暟鎹簱浜?[dbHost],[dbUser]...杩欎簺閮芥槸鏁版嵁搴撶殑鐩稿叧淇℃伅,涔熷氨鏄垜浠繚瀛樺湪閰嶇疆鏂囦歡涓殑\data\common.inc.php鍐呭,寮曞叆鏁版嵁搴撶被鐨勬椂鍊?榛樿灏辮鍒涘緩浜?dsql鎴栬€?db,鎵€浠ョ洿鎺ュ紩鍏ラ厤缃枃浠跺氨鍙互浜? 聽聽聽 鎺ヤ笅鏉ユ垜浠潵鍋氫竴涓畝鍗曠殑鏌ヨ鎿嶄綔,鎺ョ潃涓婇潰鐨勪唬鐮佹垜浠戶缁啓 test.php ------------------------------- <?php 聽聽聽 require_once (dirname(__FILE__) . "/include/common.inc.php"); 聽聽聽 if($dsql->IsTable('dede_test')){ 聽聽聽 聽聽聽 //濡傛灉瀛樺湪dede_test琛? 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //|聽聽聽 鏌ヨ涓€鏉¤褰?| 聽聽聽 聽聽聽 //|聽聽聽 GetOne()聽聽聽聽 | 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //聽聽聽聽聽聽聽 鈫? 聽聽聽 聽聽聽 $row = $dsql->GetOne("SELECT * FROM dede_test WHERE id = 3"); 聽聽聽 聽聽聽 print_r($row); 聽聽聽 } ?> -------------------------------- 聽聽聽 杩欓噷鎴戜滑鐢ㄤ簡$dsql绫葷殑2涓柟娉?IsTable()浠ュ強GetOne(),IsTable鍏堟潵鍒ゆ柇杩欎釜琛ㄦ槸鍚﹀瓨鍦?濡傛灉瀛樺湪鎴戜滑灏辯戶缁墽琛?浠栬繑鍥炵殑鏄竴涓猙ool鍊?濡傛灉瀛樺湪涓簍rue鍚﹀垯灏變負false. 鎺ヤ笅鏉ュ垽鏂鏋滄湁杩欎釜琛ㄥ瓨鍦?鍒欐垜浠氨鎵ц鏌ヨ鍗曟潯璁闆綍鐨勮繖涓繃绋?鍗矴etOne,閫氳繃甯姪鏂囨。鍙互鐭ラ亾:$arr = $db->GetOne($sql);涔熷氨鏄鏌ヨ鐨剆ql璇彞浼氫紶閫佸洖鏉ヤ竴涓暟缁?鎴戜滑杩愯test.php鐪嬩笅杩愯缁撴灉: Array ( 聽聽聽 [id] => 3 聽聽聽 [name] => 绗笁涓柦 ) 聽聽聽 杩欎釜璇存槑鎴戜滑鏌ヨdede_test杩欎釜琛╥d涓?鐨勬暟鎹垚鍔熶簡,杩斿洖浜嗕竴涓?row鏁扮粍,鍏朵腑灏卞瓨鏀句簡瀛楁鐨勫€? 褰撶劧鎴戜滑鍙互鐢╡cho $row['name'];鎴栬€?row['id']鏉ヨ緭鍑烘垜浠煡璇㈠嚭鏉ョ殑缁撴灉 Tip:鍏跺疄鎴戜滑鍙互娣卞叆鐨勭爺绌朵笅dedesql.class.php杩欎釜绫?258琛屽氨鏈夎繖涓柟娉? 聽聽聽 //鎵ц涓€涓猄QL璇彞,杩斿洖鍓嶄竴鏉¤褰曟垨浠呰繑鍥炰竴鏉¤褰? 聽聽聽 function GetOne($sql='',$acctype=MYSQL_ASSOC) 聽聽聽 { 聽聽聽 聽聽聽 global $dsql; 聽聽聽 聽聽聽 if($dsql->isClose) 聽聽聽 聽聽聽 { 聽聽聽 聽聽聽 聽聽聽 $this->Open(false); 聽聽聽 聽聽聽 聽聽聽 $dsql->isClose = false; 聽聽聽 聽聽聽 } 聽聽聽 聽聽聽 if(!empty($sql)) 聽聽聽 聽聽聽 { 聽聽聽 聽聽聽 聽聽聽 if(!eregi("limit",$sql)) $this->SetQuery(eregi_replace("[,;]$",'',trim($sql))." limit 0,1;");//杩欓噷鐢ㄦ鍒欑湅鐪媗imit鏄惁瀛樺湪,濡傛灉涓嶅瓨鍦ㄧ殑璇濆氨鑷姩鍔犱笂limit 0,1杩欎釜鍐呭,鍏充簬limit鐨勪粙缁嶅彲浠ュ幓鐪嬬湅SQL鍏充簬杩欎釜鐨勪粙缁? 聽聽聽 聽聽聽 聽聽聽 else $this->SetQuery($sql); 聽聽聽 聽聽聽 } 聽聽聽 聽聽聽 $this->Execute("one"); 聽聽聽 聽聽聽 $arr = $this->GetArray("one",$acctype); 聽聽聽 聽聽聽 if(!is_array($arr)) 聽聽聽 聽聽聽 { 聽聽聽 聽聽聽 聽聽聽 return ''; 聽聽聽 聽聽聽 } 聽聽聽 聽聽聽 else 聽聽聽 聽聽聽 { 聽聽聽 聽聽聽 聽聽聽 @mysql_free_result($this->result["one"]); return($arr);//娓呯┖璧勬簮,杩斿洖杩欎釜鏁扮粍 聽聽聽 聽聽聽 } 聽聽聽 } 3.娣卞叆鏌ヨ,缁х畫鐮旂┒SELECT 聽聽聽 鍒氭墠璁蹭簡鏌ヨ涓€鏉¤褰?鍏跺疄杩欎釜鏌ヨ涓€鏉¤褰曞彲浠ョ悊瑙d負鎴戜滑鍐呭椤墊煡璇竴绡囨枃绔?鍙槸鑾峰彇鍗曟潯璁闆綍骞跺皢鍐呭鏄劇ず鍑烘潵,浣嗗線寰€鎴戜滑缁忓父閬囧埌鐨勬槸鏌ヨ鍒楄〃,鍙妠dede:arclist/}鎴栬€厈dede:list/},鏌ヨ鍒楄〃鐨勮瘽娑夊強鍒版煡璇㈠鏉¤褰? 缁х畫淇敼浠g爜: test.php ------------------------------- <?php 聽聽聽 require_once (dirname(__FILE__) . "/include/common.inc.php"); 聽聽聽 if($dsql->IsTable('dede_test')){ 聽聽聽 聽聽聽 //濡傛灉瀛樺湪dede_test琛? 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //|聽聽聽 鏌ヨ涓€鏉¤褰?| 聽聽聽 聽聽聽 //|聽聽聽 GetOne()聽聽聽聽 | 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //聽聽聽聽聽聽聽 鈫? 聽聽聽 聽聽聽 $row = $dsql->GetOne("SELECT * FROM dede_test WHERE id = 3"); 聽聽聽 聽聽聽 echo "鏌ヨid=3鐨勮褰?<br />鏄劇ず缁撴灉:"; 聽聽聽 聽聽聽 print_r($row); 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //|聽聽聽 鏌ヨ澶氭潯璁闆綍 | 聽聽聽 聽聽聽 //|聽聽聽 Execute()聽聽聽聽 | 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //聽聽聽聽聽聽聽 鈫? 聽聽聽 聽聽聽 echo "<hr />鏌ヨdede_test琛ㄤ腑鐨勬墍鏈夎褰?<br />鏄劇ず缁撴灉:<br />"; 聽聽聽 聽聽聽 $sql = "SELECT * FROM dede_test"; 聽聽聽 聽聽聽 聽聽聽 $dsql->Execute('me',$sql); 聽聽聽 聽聽聽 聽聽聽 while($arr = $dsql->GetArray('me')) 聽聽聽 聽聽聽 聽聽聽 { 聽聽聽 聽聽聽 聽聽聽 聽聽聽 echo "id = {$arr['id']} ,name = {$arr['name']}<br />"; 聽聽聽 聽聽聽 聽聽聽 } 聽聽聽 } ?> -------------------------------- 鎴戜滑杩愯test.php鐪嬪埌鏄劇ず浠ヤ笅鐨勫唴瀹? 鏌ヨdede_test琛ㄤ腑鐨勬墍鏈夎褰? 鏄劇ず缁撴灉: id = 1 ,name = 娴嬭瘯鍚嶅瓧1 id = 2 ,name = 杩欐槸绗簩涓? id = 3 ,name = 绗笁涓柦 id = 4 ,name = 绗洓涓? 聽聽聽 杩欎釜璇存槑鎴戜滑宸茬粡鎴愬姛灏嗚〃dede_test涓殑鏁版嵁杈撳嚭,褰撶劧涓昏鏄墽琛屼簡閭d釜"SELECT * FROM dede_test",杩欐槸涓€涓渶绠€鍗曠殑sql鏌ヨ璇彞,褰撶劧涔熻兘澶熺敤鍒皁rder by杩欎簺鎺掑簭鎴栬€呮潯浠跺幓鏌ヨ,璇︾粏鍙互鍙傝€僺ql鐩稿叧鍐呭. 聽聽 鍚屾椂杩欓噷闇€瑕佽鏄庣殑鏄繖閲岄櫎浜嗙敤$dsql->GetArray('me')鏉ヨ幏鍙栧唴瀹瑰埌鏁扮粍,杩樺彲浠ョ敤$dsql->GetObject("me")鑾峰彇鍐呭鍒闆璞?涓嶈繃璋冪敤鏂規硶鏈変簺涓嶅悓: 涓昏杩欓噷閫氳繃$dbobj->fieldname鏉ヨ皟鐢ㄦ煡璇㈠嚭鏉ョ殑鏁版嵁 聽聽聽 聽聽聽 聽聽聽 while($dbobj = $dsql->GetObject('me')) 聽聽聽 聽聽聽 聽聽聽 { 聽聽聽 聽聽聽 聽聽聽 聽聽聽 echo "id = {$dbobj->id} ,name = {$dbobj->name}<br />"; 聽聽聽 聽聽聽 聽聽聽 }
4.鎻掑叆鍒犻櫎,涔熻鐢ㄥ埌SQL 聽聽聽 涓婇潰鎴戜滑浠嬬粛浜嗗浣曠敤dsql鏉ユ煡璇㈡暟鎹?涓昏鏈夎幏鍙栧崟鏉¤褰曞拰鑾峰彇澶氭潯璁闆綍2绉?鎺ヤ笅鏉ユ垜浠潵浜嗚В涓嬩嬌鐢╠sql鍏朵粬鐗規€ф潵涓烘垜浠殑test.php鍔犲叆娣誨姞鍐呭鍜屽垹闄ゅ唴瀹圭殑鍔熻兘. 聽聽聽 鍏堟潵浜嗚В涓嬫彃鍏ユ暟鎹簱鐨勬搷浣?鎴戜滑鍏堝仛涓€涓〃鍗?杩欎釜琛ㄥ崟鐢ㄤ簬鎻愪氦鏁版嵁name鐨?琛ㄥ崟浠g爜濡備笅: <hr /> 鐢ㄤ簬鎻愪氦鏁版嵁鐨勮〃鍗?<br /> <form action="test.php" type="post"> 聽聽聽 <input type="hidden" name="dopost" value="save"> 聽聽聽 鍚嶇О:<input type="text" name="name" value=""> 聽聽聽 <input name="鎻愪氦" type="submit" value="鎻愪氦"> </form> 聽聽聽 杩欓噷鎴戜滑鐢ㄤ簡涓€涓殣钘忓煙dopost鏉ュ瓨鏀炬搷浣滄柟娉?杈撳叆妗唍ame鐢ㄦ潵瀛樻斁杈撳叆鏁版嵁,鐒跺悗浼犻€掔粰褰撳墠椤甸潰,鍐嶈繘琛屽鐞?杩欐椂鍊欐垜浠渶瑕佸湪test.php涓姞鍏ラ儴鍒嗙殑琛ㄥ崟澶勭悊鎿嶄綔: 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //|聽聽聽 琛ㄥ崟澶勭悊杩囩▼ | 聽聽聽 聽聽聽 //|聽聽聽 Save()聽聽聽聽 | 聽聽聽 聽聽聽 //------------------- 聽聽聽 聽聽聽 //聽聽聽聽聽聽聽 鈫? 聽聽聽 empty($dopost)? "" : $dopost; 聽聽聽 if($dopost == "save"){ 聽聽聽 聽聽聽 //濡傛灉鎵ц鎻掑叆鎿嶄綔 聽聽聽 聽聽聽 $sql = "INSERT INTO `dede_test` (`name`) VALUES ('{$name}')"; 聽聽聽 聽聽聽 $dsql->ExecuteNoneQuery($sql); //鎵ц杩欎釜鎻掑叆璇彞 聽聽聽 聽聽聽 $lastInsertID = $dsql->GetLastID(); //鑾峰彇鎻掑叆鍚庣殑鏈€鍚庣殑ID,鐒跺悗鍐嶄紶缁欎笅涓€涓〉闈? 聽聽聽 聽聽聽 ShowMsg("鎴愬姛澧炲姞涓€鏉¤褰曞唴瀹癸紒","test.php?id={$lastInsertID}"); 聽聽聽 聽聽聽 exit(); 聽聽聽 } 聽聽聽 杩欓噷涓昏鏄竴涓狪NSERT INTO 璇彞,鐒跺悗閫氳繃$dsql鐨凟xecuteNoneQuery鏂規硶鏉ユ墽琛岃繖涓搷浣?骞朵笖鑾峰彇鎻掑叆鏁版嵁鏈€鍚庝竴涓猧d鍐嶅皢鍏朵紶閫掔粰涓嬩竴涓〉闈互渚塊珮浜樉绀? 聽聽聽 鎴戜滑鍙互鍦ㄧ紪杈戞涓彃鍏ヤ竴鏉℃暟鎹潵娴嬭瘯涓?鐪嬬湅鎻掑叆鏁版嵁鍚庣殑杩斿洖缁撴灉锛? 鍏跺疄鍒犻櫎鐨勬搷浣滀篃鏄姝?鎴戜滑鍙渶瑕佺◢寰仛涓慨鏀瑰氨鍙互浜?澧炲姞涓€涓猟opost鎿嶄綔涓篸el鐨勫垽鏂?鐒跺悗鍦ㄦ樉绀烘暟鎹悗闈㈠鍔犱竴涓秴閾炬帴,灏唅d浠et鏂瑰紡杩涜浼犻€?骞舵渶鍚庤繘琛屽鐞? 聽聽聽 涓嬮潰鏄垜浠慨鏀瑰驚鐜煡璇㈣緭鍑虹殑閮ㄥ垎鍐呭,鏈夊涓嬩慨鏀? 聽聽聽 聽聽聽 聽聽聽 while($dbobj = $dsql->GetObject('me')) 聽聽聽 聽聽聽 聽聽聽 { 聽聽聽 聽聽聽 聽聽聽 聽聽聽 if($id==$dbobj->id){ 聽聽聽 聽聽聽 聽聽聽 聽聽聽 //濡傛灉浼犻€掔殑id鍊煎拰鏌ヨ鍊肩浉鍚?鍒欓珮浜樉绀烘渶鍚庝竴鏉℃彃鍏ヨ褰? 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 echo "<font color='red'>id = {$dbobj->id} ,name = {$dbobj->name}</font> <a href='test.php?dopost=del&id={$dbobj->id}'>[鍒犻櫎]</a>聽聽聽 <br />";//杩欓噷澧炲姞浜嗕竴涓垹闄ょ殑瓒呴摼鎺? 聽聽聽 聽聽聽 聽聽聽 聽聽聽 }else{ 聽聽聽 聽聽聽 聽聽聽 聽聽聽 聽聽聽 echo "id = {$dbobj->id} ,name = {$dbobj->name} <a href='test.php?dopost=del&id={$dbobj->id}'>[鍒犻櫎]</a><br />"; 聽聽聽 聽聽聽 聽聽聽 聽聽聽 } 聽聽聽 聽聽聽 聽聽聽 } 涓嬮潰鏄痙el杩欎釜post鐨勫垽鏂? 聽聽聽 empty($dopost)? "" : $dopost; 聽聽聽 if($dopost == "save"){ 聽聽聽 聽聽聽 //濡傛灉鎵ц鎻掑叆鎿嶄綔 聽聽聽 聽聽聽 $sql = "INSERT INTO `dede_test` (`name`) VALUES ('{$name}')"; 聽聽聽 聽聽聽 $dsql->ExecuteNoneQuery($sql); 聽聽聽 聽聽聽 $lastInsertID = $dsql->GetLastID(); 聽聽聽 聽聽聽 ShowMsg("鎴愬姛澧炲姞涓€鏉¤褰曞唴瀹癸紒","test.php?id={$lastInsertID}"); 聽聽聽 聽聽聽 exit(); 聽聽聽 }elseif($dopost == "del"){ 聽聽聽 聽聽聽 //濡傛灉dopost涓篸el,鍒欏垹闄ゆ暟鎹? 聽聽聽 聽聽聽 $id = isset($id) && is_numeric($id) ? $id : 0; 聽聽聽 聽聽聽 $sql = "DELETE FROM `dede_test` WHERE (`id`='{$id}')"; 聽聽聽 聽聽聽 $dsql->ExecuteNoneQuery($sql); 聽聽聽 聽聽聽 ShowMsg("鎴愬姛鍒犻櫎涓€鏉¤褰曞唴瀹癸紒","test.php"); 聽聽聽 聽聽聽 exit(); 聽聽聽 } |