×

phpmysql受影响行数

phpmysql受影响行数(sqlserver1行受影响)

admin admin 发表于2023-04-02 15:11:10 浏览48 评论0

抢沙发发表评论

本文目录一览:

如何取得前一次MySql操作所影响的行数

本扩展自

PHP

5.5.0

起已废弃,并在将来会被移除。应使用

MySQLi

PDO_MySQL

扩展来替换之。参见

MySQL:选择

API

指南以及相关

FAQ

以获取更多信息。用以替代本函数的有:

mysqli_affected_rows()

PDOStatement::rowCount()

说明

int

mysql_affected_rows

([

resource

$link_identifier

=

NULL

]

)

取得最近一次与

link_identifier

关联的

INSERT,UPDATE

DELETE

查询所影响的记录行数。

参数

link_identifier

MySQL

连接。如不指定连接标识,则使用由

mysql_connect()

最近打开的连接。如果没有找到该连接,会尝试不带参数调用

mysql_connect()

来创建。如没有找到连接或无法建立连接,则会生成

E_WARNING

级别的错误。

返回值

执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回

-1。

如果最近一次操作是没有任何条件(WHERE)的

DELETE

查询,在表中所有的记录都会被删除,但本函数返回值在

4.1.2

版之前都为

0。

当使用

UPDATE

查询,MySQL

不会将原值和新值一样的列更新。这样使得

mysql_affected_rows()

函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。

REPLACE

语句首先删除具有相同主键的记录,然后插入一个新记录。本函数返回的是被删除的记录数加上被插入的记录数。

"INSERT

...

ON

DUPLICATE

KEY

UPDATE"

这种情况的查询,当执行了一次

INSERT

返回的值会是

1;如果是对已经存在的记录执行一次

UPDATE

将返回

2。

高分求助mysql 存储过程报错以及如何返回受影响的行数

你说的应该是这个

@@ROWCOUNT

返回受上一语句影响的行数。

语法

@@ROWCOUNT

返回类型

integer

注释

任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

示例

下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。

UPDATE authors SET au_lname = 'Jones'

WHERE au_id = '999-888-7777'

select @@ROWCOUNT 就是更新影响的行

怎么在mysql命令行中返回mysql的影响行数

mysql_affected_rows()

返回最近一次与

连接句柄

关联的

INSERT,UPDATE

DELETE

查询所影响的记录行数.FOUND_ROWS()

:

select

ROW_COUNT()

:

update

delete

insert.

FOUND_ROWS()

:

select

ROW_COUNT()

:

update

delete

insert.

MySQL的函数中,SELECT是另外一个单独的函数

FOUND_ROWS()

,

UPDATE等是

ROW_COUNT()

如下案例:

mysql

INSERT

INTO

t

VALUES(1),(2),(3);

Query

OK,

3

rows

affected

(0.00

sec)

Records:

3

Duplicates:

Warnings:

mysql

SELECT

ROW_COUNT();

+-------------+

|

ROW_COUNT()

|

+-------------+

|

3

|

+-------------+

1

row

in

set

(0.00

sec)

mysql_affected_rows

(PHP

3,

PHP

4

,

PHP

5)

mysql_affected_rows

--

取得前一次

MySQL

操作所影响的记录行数说明

int

mysql_affected_rows

(

[resource

link_identifier])

mysql_affected_rows()

返回最近一次与

连接句柄

关联的

INSERT,UPDATE

DELETE

查询所影响的记录行数。如果连接句柄没有指定,

则默认使用最近一次由

mysql_connect()

函数打开的连接句柄。

注:

如果你使用事务处理(transactions),你需要在

INSERT,UPDATE

DELETE

查询后调用

mysql_affected_rows()

函数,而不是在

commit

命令之后。

如果最近一次操作是没有任何条件(WHERE)的

DELETE

查询,

在表中所有的记录都会被删除,但该函数返回值为

0。

注:

当使用

UPDATE

查询,MySQL

不会将原值和新值一样的列更新。

这样使得

mysql_affected_rows()

函数返回值不一定就是查询条件所符合的记录数。

只有真正被修改的记录数才会被返回。

mysql_affected_rows()

函数不适用于

SELECT

语句;只适用于能够修改记录的语句中。请使用

mysql_num_rows()

函数来获得

SELECT

所返回的记录行数。

如果最近一次查询失败的话,函数返回

-1。

例子

1.

Delete

操作

?php

/*

连接数据库

*/

mysql_pconnect("localhost",

"mysql_user",

"mysql_password")

or

die

("Could

not

connect"

.

mysql_error());

mysql_select_db("mydb");

/*

这会返回有效的被删除记录数。

*/

mysql_query("DELETE

FROM

mytable

WHERE

id

10");

printf

("Records

deleted:

%d/n",

mysql_affected_rows());

/*

没有任何条件(where)的删除语句,返回

*/

mysql_query("DELETE

FROM

mytable");

printf

("Records

deleted:

%d/n",

mysql_affected_rows());

?

以上的例子会得出下面的运行结果:

Records

deleted:

10Records

deleted:

例子

2.

Update

操作

?php

/*

连接数据库

*/

mysql_pconnect("localhost",

"mysql_user",

"mysql_password")

or

die

("Could

not

connect"

.

mysql_error());

mysql_select_db("mydb");

/*

Update

记录

*/

mysql_query("UPDATE

mytable

SET

used=1

WHERE

id

10");

printf

("Updated

records:

%d/n",

mysql_affected_rows());

mysql_query("COMMIT");

?

以上的例子会得出下面的运行结果:

Updated

Records:

10

参见

mysql_num_rows()

mysql_info()。

mysql_affected_rows()

返回的是对行操作的个数

$query=mysql_query("select

*

from

love_mp3_table

");

mysql_affected_rows();//其实对这个也有效,返回44,在这和mysql_num_rows($query)效果一样

$query=mysql_query("INSERT

INTO

table(id,title,hrefurl)

VALUE('','节节胜利','http://')");

mysql_affected_rows();//返回1

$query=mysql_query("DELETE

FROM

tabel

WHERE

id=45");

mysql_affected_rows();//返回1

$query=mysql_query("UPDATE

table

SET

title='我是'

WHERE

id=44");

mysql_affected_rows();//返回1

php sqlsrv 执行update很诡异,受影响行数有返回,数据无变化

1.最大执行时间问题,解决方法:分批处理逻辑,比如用ID大小分批处理

2.多字段组合不可重复的设定,解决方法:查看表设计结构,看看有没有此项设定

3.去掉执行语句1,只运行语句2.

不能解决问题可联系我

如何在PHP中获取MYSQL数据库返回的数据的行数?

1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。

2、接下来在Editplus编辑器中创建一个PHP文件,然后进行数据库连接,并且选择要操作的数据库。

3、然后通过mysql_query方法执行一个Insert的插入语句。

4、执行完毕以后,我们回到数据库管理工具中,这个时候你会发现插入的中文乱码了。

5、接下来我们在PHP文件中通过mysql_query执行一个set  names  utf8语句即可完成操作。

执行数据库查询后反馈受影响的行数语句怎么写?

1、MySQL 更新或插入后获取受影响行数,用下面函数可以获取:

SELECT ROW_COUNT();

2、Mysql的select语句得到的行数:

select count(1) from index_scoreinfo;