PHP mysqli 批量执行sql 函数:myqli_muti_query

mysqli_multi_query

(PHP 5, PHP 7)

mysqli::multi_query -- mysqli_multi_query — 在数据库上执行查询。

 

说明

面向对象风格

bool mysqli::multi_query ( string $query )

 

过程化风格

bool mysqli_multi_query ( mysqli $link , string $query )

 

myqli_muti_query:执行由分号连接的一个或多个查询。

 

参数

link

仅以过程化样式:由 mysqli_connect() 或 mysqli_init() 返回的链接标识。

 

query

查询的字符串。

查询日期内escaped应该是恰当的。

 

返回值

如果第一个语句失败,返回false。检索后续错误你得先打电话给mysqli_next_result()其他报表。

 

案例:

面向对象风格

  1. <?php
  2. $mysqli  = new  mysqli ( "localhost" ,  "my_user" ,  "my_password" ,  "world" );
  3. /* check connection */
  4.  if ( mysqli_connect_errno ()) {
  5.      printf ( "Connect failed: %s\n" ,  mysqli_connect_error ());
  6.     exit();
  7. }
  8. $query   =  "SELECT CURRENT_USER();" ;
  9.  $query  .=  "SELECT Name FROM City ORDER BY ID LIMIT 20, 5" ;
  10. /* execute multi query */
  11.  if ( $mysqli -> multi_query ( $query )) {
  12.     do {
  13.          /* store first result set */
  14.          if ( $result  =  $mysqli -> store_result ()) {
  15.             while ( $row  =  $result -> fetch_row ()) {
  16.                  printf ( "%s\n" ,  $row [ 0 ]);
  17.             }
  18.              $result -> free ();
  19.         }
  20.          /* print divider */
  21.          if ( $mysqli -> more_results ()) {
  22.              printf ( "-----------------\n" );
  23.         }
  24.     } while ( $mysqli -> next_result ());
  25. }
  26. /* close connection */
  27.  $mysqli -> close ();
  28.  ?>

 

过程化风格

  1. <?php
  2. $link  =  mysqli_connect ( "localhost" ,  "my_user" ,  "my_password" ,  "world" );
  3. /* check connection */
  4.  if ( mysqli_connect_errno ()) {
  5.      printf ( "Connect failed: %s\n" ,  mysqli_connect_error ());
  6.     exit();
  7. }
  8. $query   =  "SELECT CURRENT_USER();" ;
  9.  $query  .=  "SELECT Name FROM City ORDER BY ID LIMIT 20, 5" ;
  10. /* execute multi query */
  11.  if ( mysqli_multi_query ( $link ,  $query )) {
  12.     do {
  13.          /* store first result set */
  14.          if ( $result  =  mysqli_store_result ( $link )) {
  15.             while ( $row  =  mysqli_fetch_row ( $result )) {
  16.                  printf ( "%s\n" ,  $row [ 0 ]);
  17.             }
  18.              mysqli_free_result ( $result );
  19.         }
  20.          /* print divider */
  21.          if ( mysqli_more_results ( $link )) {
  22.              printf ( "-----------------\n" );
  23.         }
  24.     } while ( mysqli_next_result ( $link ));
  25. }
  26. /* close connection */
  27.  mysqli_close ( $link );
  28.  ?>

 

以上例程的输出类似于:

  1. 以上例程的输出类似于:
  2. my_user@localhost
  3. -----------------
  4. Amersfoort
  5. Maastricht
  6. Dordrecht
  7. Leiden
  8. Haarlemmermeer

 

PHP mysqli 批量执行sql

这个myqli_muti_query真的是很好用,可以一次执行多条SQL语句,当然这只是适用于PHP+mysql;而且还需要开启mysqli扩展;现在推荐大家用mysqli,因为它还支持mysqli预处理,防SQL注入的;

    A+
发布日期:2017年05月02日 14:50:20  所属分类:PHP函数
最后更新时间:2017-05-02 14:55:40
付杰
  • ¥ 159.0元
  • 市场价:398.0元
  • ¥ 15元
  • 市场价:15元
  • ¥ 199.0元
  • 市场价:199.0元
  • ¥ 818.0元
  • 市场价:1688.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  0   博主  0

  1. 头像 123user 1

    alert(‘付杰’);