当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP中mysqli_affected_rows作用行数返回值

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-10 14:21:40 浏览: 评论:0 

mysqli中关于update操作影响的行数可以有两种返回形式:

1. 返回匹配的行数 2. 返回影响的行数

默认情况下mysqli_affected_rows返回的值为影响的行数,如果我们需要返回匹配的行数,可以使用mysqli_real_connect函数进行数据库连接的初始化,并在函数的flag参数位加上:

MYSQLI_CLIENT_FOUND_ROWS return number of matched rows, not the number of affected rows

普通格式:

  1. int mysqli_affected_rows ( mysqli link ) 
  2. oop格式: 
  3. class mysqli { 
  4. int affected_rows 

看下例子,普通模式,代码如下:

  1. <?php 
  2. $link = mysqli_connect("localhost""my_user""my_password""world"); 
  3.  
  4. if (!$link) { 
  5. printf("Can't connect to localhost. Error: %sn", mysqli_connect_error()); 
  6. exit(); 
  7.  
  8. /* Insert rows */ 
  9. mysqli_query($link"CREATE TABLE Language SELECT * from CountryLanguage"); 
  10. printf("Affected rows (INSERT): %dn", mysqli_affected_rows($link)); 
  11.  
  12. mysqli_query($link, "ALTER TABLE Language ADD Status int default 0″); 
  13.  
  14. /* update rows */ 
  15. mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50″); 
  16. printf("Affected rows (UPDATE): %dn", mysqli_affected_rows($link)); 
  17.  
  18. /* delete rows */ 
  19. mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50″); 
  20. printf("Affected rows (DELETE): %dn", mysqli_affected_rows($link)); 
  21.  
  22. /* select all rows */ 
  23. $result = mysqli_query($link"SELECT CountryCode FROM Language"); 
  24. printf("Affected rows (SELECT): %dn", mysqli_affected_rows($link)); 
  25.  
  26. mysqli_free_result($result); 
  27. //开源代码phpfensi.com 
  28. /* Delete table Language */ 
  29. mysqli_query($link"DROP TABLE Language"); 
  30.  
  31. /* close connection */ 
  32. mysqli_close($link); 
  33. ?> 

oop模式,代码如下:

  1. <?php 
  2. $mysqli = new mysqli("localhost""my_user""my_password""world"); 
  3.  
  4. /* check connection */ 
  5. if (mysqli_connect_errno()) { 
  6. printf("Connect failed: %sn", mysqli_connect_error()); 
  7. exit(); 
  8.  
  9. /* Insert rows */ 
  10. $mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage"); 
  11. printf("Affected rows (INSERT): %dn"$mysqli->affected_rows); 
  12.  
  13. $mysqli->query("ALTER TABLE Language ADD Status int default 0″); 
  14.  
  15. /* update rows */ 
  16. $mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50″); 
  17. printf("Affected rows (UPDATE): %dn"$mysqli->affected_rows); 
  18.  
  19. /* delete rows */ 
  20. $mysqli->query("DELETE FROM Language WHERE Percentage < 50″); 
  21. printf("Affected rows (DELETE): %dn"$mysqli->affected_rows); 
  22.  
  23. /* select all rows */ 
  24. $result = $mysqli->query("SELECT CountryCode FROM Language"); 
  25. printf("Affected rows (SELECT): %dn"$mysqli->affected_rows); 
  26.  
  27. $result->close(); 
  28.  
  29. /* Delete table Language */ 
  30. $mysqli->query("DROP TABLE Language"); 
  31.  
  32. /* close connection */ 
  33. $mysqli->close(); 
  34. ?>

Tags: mysqli_affected_rows PHP作用行数

分享到: