PHP中mysqli_affected_rows作用行数返回值分析

本文实例分析了PHP中mysqli_affected_rows作用行数返回值。分享给大家供大家参考。具体分析如下:

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

普通格式:


代码如下:

int mysqli_affected_rows ( mysqli link )

oop格式:


代码如下:

class mysqli {
int affected_rows
}

看下例子:

普通模式,代码如下:

代码如下:

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
 
if (!$link) {
printf("Can't connect to localhost. Error: %sn", mysqli_connect_error());
exit();
}
 
/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %dn", mysqli_affected_rows($link));
 
mysqli_query($link, "ALTER TABLE Language ADD Status int default 0″);
 
/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50″);
printf("Affected rows (UPDATE): %dn", mysqli_affected_rows($link));
 
/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50″);
printf("Affected rows (DELETE): %dn", mysqli_affected_rows($link));
 
/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %dn", mysqli_affected_rows($link));
 
mysqli_free_result($result);

/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");
 
/* close connection */
mysqli_close($link);
?>

oop模式,代码如下:

代码如下:

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
 
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %sn", mysqli_connect_error());
exit();
}
 
/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %dn", $mysqli->affected_rows);
 
$mysqli->query("ALTER TABLE Language ADD Status int default 0″);
 
/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50″);
printf("Affected rows (UPDATE): %dn", $mysqli->affected_rows);
 
/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50″);
printf("Affected rows (DELETE): %dn", $mysqli->affected_rows);
 
/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %dn", $mysqli->affected_rows);
 
$result->close();
 
/* Delete table Language */
$mysqli->query("DROP TABLE Language");
 
/* close connection */
$mysqli->close();
?>

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP数据库操作之基于Mysqli的数据库操作类库

    此类库简单.易用,便于你自己修改和对功能的改善,能解决大部分 PHP 项目中执行的 SQL 操作. 初步工作 首先,请大家下载这个类库 M.class.php 再下载一个 Mysqli 连接数据库的类库 MysqliDb.class.php(打包下载地址)  新建一个 includes 的文件夹,将下载下来的两个 class 文件,放进去. 然后,请你在项目下创建一个 test.php 文件.注:UTF-8 文件格式 请先根据你机器的情况,填充以下代码,用于连接数据库: 复制代码 代码如下: h

  • PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别

    虽然nosql变得流行,但是我感觉sql还是主流 今天在翻php manul的时候,发现mysqli 的查询可以传递一个有意思的参数 复制代码 代码如下: @mysqli_query($this->sql,$SQL,($method ? MYSQLI_USE_RESULT : MYSQLI_STORE_RESULT)); 在php manul上面对这两个参数是这样解释的. 复制代码 代码如下: Either the constant MYSQLI_USE_RESULT or MYSQLI_STO

  • PHP以mysqli方式连接类完整代码实例

    本文所述的是一个在PHP中以mysqli方式连接数据库的一个数据库类实例,该数据库类是从一个PHP的CMS中整理出来的,可实现PHP连接数据库类,MySQLi版,兼容PHP4,对于有针对性需要的朋友可根据此代码进行优化和修改. <?php #================================================================================================== # Filename: /db/db_mysqli.php

  • 如何判断php mysqli扩展类是否开启

    如何判断php mysqli扩展类是否开启 php判断mysqli扩展类是否开启,源码如下: <?php /* by http://www.manongjc.com/article/1206.html */ function mysqlinstalled (){ if (function_exists ("mysql_connect")){ return true; } else { return false; } } function mysqliinstalled (){ i

  • PHP5 mysqli的prepare准备语句使用说明

    mysqli对prepare的支持对于大访问量的网站是很有好处的,它极大地降低了系统开销,而且保证了创建查询的稳定性和安全性.prepare准备语句分为绑定参数和绑定结果,下面将会一一介绍! (1)绑定参数 看下面php代码: 复制代码 代码如下: <?php //创建连接 $mysqli=new mysqli("localhost","root","","volunteer"); //检查连接是否被创建 if (mys

  • 解决phpmyadmin中缺少mysqli扩展问题的方法

    phpMyAdmin错误 缺少 mysqli 扩展.请检查 PHP 配置 的解决方案 phpMyAdmin 缺少 mysqli 扩展.请检查 PHP 配置 的解决方案: 缺少 mysqli 扩展.请检查 PHP 配置. 打开你的php.ini->一般在C:WINDOWS目录下. 找到 复制代码 代码如下: ;extension=php_msql.dll ;extension=php_mssql.dll extension=php_mysql.dll extension=php_mysqli.dl

  • php中数据库连接方式pdo和mysqli对比分析

    1)总的比较   PDO MySQLi 数据库支持 12种不同的数据库支持 支持MySQL API OOP OOP + 过程 Connection Easy Easy 命名参数 支持 不支持 对象映射支持 支持 支持 预处理语句  (客户端) 支持 不支持 性能 快 快 支持存储过程 支持 支持 2 连接方式 先来看下两者连接数据库的方式: 复制代码 代码如下: // PDO $pdo = new PDO("mysql:host=localhost;dbname=database",

  • PHP mysql与mysqli事务使用说明 分享

    mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法. 应用比较多的地方是 mysqli的事务. 比如下面的示例: 复制代码 代码如下: $mysqli = new mysqli('localhost','root','','DB_Lib2Test');$mysqli->autocommit(false);//开始事物$mysqli->query($sql1);$mysqli->query($sql2);if(!$mysqli->errno){  $m

  • php开启mysqli扩展之后如何连接数据库

    Mysqli是php5之后才有的功能,没有开启扩展的朋友可以打开您的php.ini的配置文件. 查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll即可. 相对于mysql有很多新的特性和优势 (1)支持本地绑定.准备(prepare)等语法 (2)执行sql语句的错误代码 (3)同时执行多个sql (4)另外提供了面向对象的调用接口的方法. 下面一一用php实例进行mysqli数据库连接! 使用方法一:使用传统的面向过程

  • php操作mysqli(示例代码)

    <?php define("MYSQL_OPEN_LOGS",true); class mysqliHelp { private $db; public function __construct()    {     //如果要查询日志log的话,怎么办 } public function __get($name )     {       //echo "__GET:",$name;       if(in_array($name,array("d

  • php中关于mysqli和mysql区别的一些知识点分析

    一: PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension ,PHP-MySQLi 的 i 代表 Improvement ,提更了相对进阶的功能,就 Extension 而言,本身也增加了安全性.而 PDO (PHP Data Object) 则是提供了一个 Abstraction Layer 来操作资料库,用讲的其实看不出来有有什麽差别,所以就直接看程式吧- 首先,先来看一段用 PHP-MySQL 写成的程式码,这类的范例常用在世界各地: 复制代码 代码如下:

  • PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\

    今天在家启动PHP环境的时候,突然发现不能加载php_mysqli.dll了,网上找了一圈,没有解决方案! 在群里面受一哥们儿的启发,竟然解决了,如果你的问题还没有解决,请按下面的方法试试! apache下比如我的apache装在D盘,目录是D:/severs/apache PHP的目录是D:/servers/php5 这样,把D:/servers/php5/libmysql.dll拷贝到D:/servers/apache/bin这个目录下面 重启apache,问题迎刃而解!~~ iis下:将p

随机推荐