久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣一次執(zhí)行多條SQL命令?

      在之前的文章中給大家?guī)砹恕禤HP中獲取SQL的查詢結(jié)果的常用函數(shù)整理(實例詳解)》,其中詳細(xì)的介紹了PHP中查詢數(shù)據(jù)庫時常用的幾個函數(shù),本篇我們來看一下怎樣一次執(zhí)行多條SQL命令的相關(guān)知識。希望對大家有幫助!

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣一次執(zhí)行多條SQL命令?

      在上篇文章中我們給大家介紹了獲取SQL的查詢結(jié)果的常用函數(shù),通過不同的函數(shù)來查詢數(shù)據(jù)返回的形式不同,運行mysqli_query() 函數(shù)每次只能執(zhí)行一條SQL命令,在PHP中有一個函數(shù)可以讓代碼一次執(zhí)行多條SQL命令,那就是mysqli_multi_query() 函數(shù),接下來讓我們一起來了解一下mysqli_multi_query() 函數(shù)吧。

      mysqli_multi_query() 函數(shù)

      在我們前面介紹的 mysqli_query() 函數(shù)的時候,運行該函數(shù)每次只能執(zhí)行一條SQL命令,但是想要執(zhí)行多條SQL命令的時候,mysqli_query() 函數(shù)就不能滿足我們了,這時候我們就需要通過mysqli_multi_query() 函數(shù)來實現(xiàn)一次執(zhí)行多條 SQL 命令。

      mysqli_multi_query() 函數(shù)的語法格式如下:

      mysqli::multi_query(string $query)

      這是面向?qū)ο蟮膶懛?,下面是面向過程的寫法:

      mysqli_multi_query(mysqli $link, string $query)

      其中需要注意的是:

      • $query 表示為要查詢的 SQL 語句

      • $link 表示為使用 mysqli_connect() 函數(shù)返回的鏈接標(biāo)識

      • $query 表示參數(shù),其中可以包含多條 SQL 命令,每條 SQL 命令之間使用分號;分隔。如果第一條 SQL 命令在執(zhí)行時沒有出錯,那么這個函數(shù)就會返回 TRUE,否則將返回 FALSE。

      接下來我們通過示例來看一下mysqli_multi_query() 函數(shù)的使用,來執(zhí)行多條SQL命令,示例如下:

      <?php     $host     = 'localhost';     $username = 'root';     $password = 'root';     $dbname   = 'test';     $mysql    = new Mysqli($host, $username, $password, $dbname);     if($mysql -> connect_errno){         die('數(shù)據(jù)庫連接失?。?#39;.$mysql->connect_errno);     }else{         $sql    = 'select id,name from user;';  // SQL 語句         $sql    .= 'select sex,age from user';  // SQL 語句         if($mysql -> multi_query($sql)){             do{                 if ($result = $mysql -> store_result()) {                     while ($row = $result->fetch_row()) {                         print_r($row);                     }                     $result->free();                 }                 if ($mysql -> more_results()) {                     echo '<hr>';                 }else{                     break;                 }             } while ($mysql -> next_result());         }         $mysql -> close();     } ?>

      輸出結(jié)果:

      PHP數(shù)據(jù)庫學(xué)習(xí)之怎樣一次執(zhí)行多條SQL命令?

      上述結(jié)果通過mysqli_multi_query() 函數(shù)完成了執(zhí)行多條SQL命令,

      其中我們需要注意的是:

      因為 mysqli_multi_query() 函數(shù)能夠連接執(zhí)行一個或多個查詢,而每條 SQL 命令都可能返回一個結(jié)果,在必要時需要獲取每一個結(jié)果集。所以對該函數(shù)返回結(jié)果的處理也有了一些變化,第一條查詢命令的結(jié)果要用 mysqli_use_result() mysqli_store_result() 函數(shù)來讀取。

      也可以使用 mysqli_store_result() 函數(shù)將全部結(jié)果立刻取回到客戶端,而且這么做的效率更高。另外,可以使用mysqli_more_results() 函數(shù)檢查是否還有其他結(jié)果集。

      如果想對下一個結(jié)果集進(jìn)行處理,可以使用 mysqli_next_result() 函數(shù)獲取下一個結(jié)果集,有下一個結(jié)果集時該函數(shù)返回 TRUE,沒有時返回 FALSE,在有下一個結(jié)果集的情況下,也需要使用 mysqli_use_result()mysqli_store_result() 函數(shù)來讀取結(jié)果集的內(nèi)容。

      上述使用的是面向?qū)ο蟮姆椒?,接下來看一下面向過程的方法,示例如下:

      <?php     $host     = 'localhost';     $username = 'root';     $password = 'root';     $dbname   = 'test';     $link     = @mysqli_connect($host, $username, $password, $dbname);     if($link){         $sql    = 'select id,name from user;';  // SQL 語句         $sql    .= 'select sex,age from user';  // SQL 語句         $result = mysqli_multi_query($link, $sql);        // 執(zhí)行 SQL 語句,并返回結(jié)果         do{             if($data = mysqli_use_result($link)){                 while ($row = mysqli_fetch_row($data)) {                     print_r($row);                 }                 mysqli_free_result($data);             }             if(mysqli_more_results($link)){                 echo '<hr>';             }else{                 break;             }         } while (mysqli_next_result($link));         mysqli_close($link);     }else{         echo '數(shù)據(jù)庫連接失??!';     } ?>

      輸出結(jié)果與上述結(jié)果相同,由此我們便通過mysqli_multi_query() 函數(shù)一次性完成多條SQL命令。

      大家如果感興趣的話,可以點擊《PHP視頻教程》進(jìn)行

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號