-
3.$mysqli->multi_query()多條SQL語句執(zhí)行方法說明: 1).multi_query()逐條執(zhí)行SQL語句,當(dāng)其中有一條語句執(zhí)行失敗,后面的語句不會(huì)繼續(xù)執(zhí)行; 2).如果第一條語句執(zhí)行成功,無論后面有幾條語句執(zhí)行失敗,返回值都為true; 3).當(dāng)?shù)谝粭l語句執(zhí)行失敗,后面的語句不會(huì)執(zhí)行(與1說明情況相同),返回值為false; 4).以上只對(duì)增、刪、改來說; 5).如果是查詢操作,可以對(duì)執(zhí)行多個(gè)查詢語句,并將所有結(jié)果集存儲(chǔ)在mysqli對(duì)象中,返回true或者false(返回true或者false的情況,參看前面的1-3); 6).使用use_result()或story_result()獲得multi_query()查詢后的一個(gè)結(jié)果集(結(jié)果集指針當(dāng)前指向的結(jié)果集,從第一條開始); 7).more_result()檢測(cè)是否還有更多的結(jié)果集,有返回真; 8).next_result()將結(jié)果集指針移動(dòng)指向下一條結(jié)果集,移動(dòng)成功返回真; 使用multi_query()返回值只有返回true或者false,而所有結(jié)果集都是由$mysqli這個(gè)對(duì)象自行存儲(chǔ) if($mysqli->multi_query($sql)){ do{ if($mysqli_result=$mysqli->store_result()){ //賦值語句的返回的是被賦的值 $rows[]=$mysqli_result->fetch_all(MYSQLI_ASSOC); } //more_result()檢測(cè)是否還有更多的結(jié)果集,next_result()將結(jié)果集指針移動(dòng)指向下一條結(jié)果集 }while($mysqli->more_results() && $mysqli->next_result()); }else{ echo $mysqli->error; } print_r($rows);查看全部
-
1.多條SQL語句執(zhí)行方法中,多條SQL語句用";"隔開($mysqli->query()和mysql_query()中SQL語句不能用”;”結(jié)束) $sql="INSERT user(username,password,age) VALUES('imooc3','imooc3',32);"; $sql.="UPDATE user SET age=5 WHERE id=28;"; $sql.="DELETE FROM user WHERE id=25;"; $res=$mysqli->multi_query($sql); 2.幾乎所有的高級(jí)語言賦值語句都是有值的(包括PHP,C,C++,JAVA,javascript),返回的是被賦的值;比如: echo $a=$b=10;這個(gè)表達(dá)式的運(yùn)行過程是 $b=10 返回10; $a=10(返回的值) 返回10; echo 10(返回的值)echo沒有返回值.查看全部
-
通過mysqli類庫操作數(shù)據(jù)庫步驟 建立到mysql的鏈接 打開指定的數(shù)據(jù)庫 設(shè)置默認(rèn)的客戶端的字符集 執(zhí)行的sql查詢 釋放結(jié)果集 關(guān)閉鏈接 <<<EOF EOF;表述一個(gè)非常長(zhǎng)的字符串。 1.建立到mydql數(shù)據(jù)的鏈接 $mysqli = @new mysqli('localhost','root','root','test'); 2.打開指定的數(shù)據(jù)庫 $musqli->select_db('test'); //$mysqli->connect_errno 錯(cuò)誤編號(hào) //$mysqli->connect_error 錯(cuò)誤信息 if($mysqli->connect_errno){ die('connect error:'$mysqli->connect_error); } 或者$mysqli = new mysqli() $mysqli->connect('127.0.0.1','root','root','text'); print_r($mysqli);查看全部
-
window下按照WAMP安裝MySQLi擴(kuò)展: 1.在php文件夾中找到php.ini 2.搜索extension=php_mysqli.dll并去掉前面的分號(hào)(去注釋) 3.搜索extension_dir;將其指向php安裝目錄下的ext目錄 4.重啟Apache查看全部
-
mysqli擴(kuò)展或者pdo操作數(shù)據(jù)庫來代替mysql擴(kuò)展 1.mysqli可以面向?qū)ο蠡蛘呙嫦蜻^程 2.支持預(yù)處理語句 3.支持事務(wù) mysqli速度也更快一些。支持mysql PASSWORD哈希的驗(yàn)證程序,提高了安全性查看全部
-
防止sql語句的注入: 1.對(duì)用戶的輸入做一下過濾、 2.使用預(yù)處理語句查看全部
-
php檢查擴(kuò)展是否開啟查看全部
-
通過mysql調(diào)query只能執(zhí)行一條SQL語句查看全部
-
mysqli操作數(shù)據(jù)庫的步驟查看全部
-
mysqli類操作數(shù)據(jù)庫的步驟查看全部
-
mysqli速度要比之前的mysql快很多查看全部
-
郵箱(text)過濾 圖片(修改value)查看全部
-
MYSQLi中事務(wù)處理下篇(PHP代碼及其說明) 3.用php中的mysqli庫實(shí)現(xiàn): //先關(guān)閉自動(dòng)提交功能 $mysqli->autocommit(FALSE); $sql="UPDATE account SET money=money-200 WHERE username='king'"; $res=$mysqli->query($sql); $res_affect=$mysqli->affected_rows; $sql1='UPDATE account SET money=money+200 WHERE username="queen"'; $res1=$mysqli->query($sql1); $res1_affect=$mysqli->affected_rows; if($res &&$res_affect>0 && $res1 && $res1_affect>0){ //判斷是否所有語句都運(yùn)行正確 $mysqli->commit(); //提交系統(tǒng)執(zhí)行 echo '轉(zhuǎn)賬成功<br/>'; $mysqli->autocommit(TRUE); //回復(fù)自動(dòng)提交功能 }else{ $mysqli->rollback(); //回滾到自動(dòng)事務(wù)初始狀態(tài)(這個(gè)函數(shù)還有$mysqli->autocommit(TRUE)的功能) echo '轉(zhuǎn)賬失敗<br/>'; }查看全部
-
在學(xué)習(xí)事務(wù)的時(shí)候要記住你的數(shù)據(jù)庫表的存儲(chǔ)引擎支不支持事務(wù),支持事務(wù)的表的引擎要為innodb;如果你的數(shù)據(jù)庫表的引擎為MyISAM,請(qǐng)修改為INNODB; 1、查看數(shù)據(jù)庫表的引擎方法語句如下: show create table [表名]; 2、修改表引擎的方法語句如下: alter table [表名] engine=innodb; 3、再去重復(fù)1方法,查看你的表引擎有沒有修改為INNODB;查看全部
-
MySQLi中使用預(yù)處理語句執(zhí)行查詢語句 $sql="SELECT id,username,age FROM user WHERE id>=?"; $mysqli_stmt=$mysqli->prepare($sql); $id=20; $mysqli_stmt->bind_param('i',$id); if($mysqli_stmt->execute()){ //bind_result():綁定結(jié)果集中的值到變量,必須與查詢結(jié)果字段一一對(duì)應(yīng) $mysqli_stmt->bind_result($id,$username,$age); //遍歷結(jié)果集 //如果調(diào)用$mysqli_stmt->store_result()將數(shù)據(jù)先按照一定的格式存儲(chǔ),則可調(diào)用$mysqli_stmt->data_seek()來控制輸出那一條記錄 while($mysqli_stmt->fetch()){ echo '編號(hào):'.$id,'<br/>'; echo '用戶名:'.$username,'<br/>'; echo '年齡:'.$age.'<br/>'; echo '<hr/>'; } } $mysqli_stmt->free_result(); $mysqli_stmt->close(); $mysqli->close();查看全部
舉報(bào)
0/150
提交
取消