当前位置: 首页 > 编程笔记 >

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

苏高旻
2023-03-14
本文向大家介绍PHP中mysqli_affected_rows作用行数返回值分析,包括了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程序设计有所帮助。

 类似资料:
  • 问题内容: 我有以下代码: 所有人都可以正常发送电子邮件并将信息插入数据库,但是mysqli_affected_rows无法正常工作-如何在运行查询后编辑此代码以回显1? 问题答案: 改变这个 至 只需要对象,但您传递了查询对象,这也是问题所在

  • 问题内容: 我是AJAX的新手,并且对PHP传递回jQuery感到困惑。因此,您具有如下的AJAX函数: (我从ajax的另一个StackOverflow页面上获得了此信息。) 但是在其他各种资源上,他们将拥有成功部分,如下所示: 我只是困惑于是什么决定了这个变量的命名?如果PHP最终回显了一个数组: 我如何从AJAX获得此信息? 问题答案: Ajax- Requests获取整个站点。因此,您不会

  • 问题内容: 我正在使用Postgresql 8.3,并具有以下简单功能,该功能会将a返回 给客户端 现在,我可以使用以下SQL命令来调用此函数并操纵返回的游标,但是游标名称是由PostgreSQL自动生成的 此外,如38.7.3.5中所述,显式地将游标名称声明为函数的输入参数 。返回游标。我可以声明自己的游标名称并使用此游标名称来操纵返回的游标,而不是为我自动生成的Postgresql吗?如果不是

  • 问题内容: 更新2: 那么这是它可以获得的最优化的吗? 更新1: 我知道我可以给sql查询增加限制,但是我也想摆脱foreach循环,这是我不应该需要的。 原始问题: 我有以下脚本,由于“ foreach”部分的缘故,它是从数据库返回许多行的良好IMO。 如果我知道我将总是只从数据库中获得1行,该如何优化它。如果我知道我只会从数据库中获得1行,我不明白为什么需要foreach循环,但是我不知道如何

  • Lua 具有一项与众不同的特性,允许函数返回多个值。Lua 的库函数中,有一些就是返回多个值。 示例代码:使用库函数 string.find,在源字符串中查找目标字符串,若查找成功,则返回目标字符串在源字符串中的起始位置和结束位置的下标。 local s, e = string.find("hello world", "llo") print(s, e) -->output 3 5 返回多个值

  • 我一直在做这个岩石剪刀剪刀程序一段时间,它没有显示的方式,它应该是应该的。我在代码中使用了值返回函数。问题在程序的末尾显现出来。游戏的结果将被替换,但实际显示的是另一个提示,供用户输入他们的选择。下面是我的代码: