首页 > 编程知识 正文

phpmysql影响行数(mysql获取受影响的行数)

时间:2023-12-11 12:54:44 阅读:314490 作者:HKPV

本文目录一览:

php中关于mysql_affected_rows的问题,怎么解决?

这个有什么问题???

如果你是说指定某个 resource 的影响行数,你可以指定

mysql_affected_rows($concept); 这样就是返回这个 resource 的影响的行数!

PHP函数mysql_affected_rows()与mysql_num_rows()有什么区别?

这两个函数功能完全不同:

mysql_affected_rows

取得前一次

MySQL

操作所影响的记录行数,操作是指INSERT、UPDATE、DELETE等,影响是指修改、变化的。如果函数失败,返回值是-1。此函数参数为连接ID,也可以不要参数(当前默认的连接)。

mysql_num_rows()返回结果集中行的数目,仅对

SELECT

语句有效。注意其参数是mysql_query返回的结果集ID。

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

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

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

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

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

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

PHP使用mysqli扩展连接MySQL数据库

1.面向对象的使用方式

$db

=

new

mysqli('localhost',

'root',

'123456',

'dbname');

如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库

$db-select_db('dbname');

$query

=

"SELECT

*

FROM

user

WHERE

uid=4";

$result

=

$db-query($query);

$result_num

=

$result-num_rows;

$row

=

$result-fetch_assoc();

//返回一个关联数组,可以通过$row['uid']的方式取得值

$row

=

$result-fetch_row();

//返回一个列举数组,可以通过$row[0]的方式取得值

$row

=

$result-fetch_array();

//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值

$row

=

$result-fetch_object();

//返回一个对象,可以通过$row-uid的方式取得值

$result-free();

//释放结果集

$db-close();

//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接

当进行INSERT、UPDATE、DELETE操作时,使用$db-affected_rows查看影响行数

2.面向过程的使用方式

$db

=

mysqli_connect('localhost',

'root',

'123456',

'dbname');

如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库

mysqli_select_db($db,

'dbname');

查询数据库

$query

=

"SELECT

*

FROM

user

WHERE

uid=4";

$result

=

mysqli_query($db,

$query);

$result_num

=

mysqli_num_rows($result);

返回一行结果

$row

=

mysqli_fetch_assoc($result);

//返回一个关联数组,可以通过$row['uid']的方式取得值

$row

=

mysqli_fetch_row($result);

//返回一个列举数组,可以通过$row[0]的方式取得值

$row

=

mysqli_fetch_array($result);

//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值

$row

=

mysqli_fetch_object($result);

//返回一个对象,可以通过$row-uid的方式取得值

断开数据库连接

mysqli_free_result($result);

//释放结果集

mysqli_close($db);

//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接

当进行INSERT、UPDATE、DELETE操作时,使用mysqli_affected_rows()查看影响行数

php中mysql_affected_rows返回值的问题

很简单,只需判断是否执行成功即可,没必要判断返回影响行数或记录数。例如:

$sql="update $table set $vl where $w";

$result=$this-query($sql);

//$result执行结果有两种:成功:true; 失败:false;然后根据自己需要处理就行了。

return $result;

php中mysql_affected_rows的作用是什么

定义和用法mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。

语法mysql_affected_rows(link_identifier)

参数:

描述link_identifier

必需:

MySQL 的连接标识符。如果没有指定,默认使用最后被 mysql_connect() 打开的连接。如果没有找到该连接,函数会尝试调用 mysql_connect() 建立连接并使用它。如果发生意外,没有找到连接或无法建立连接,系统发出 E_WARNING 级别的警告信息。

说明:

取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。

返回值:

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

如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。

当使用 UPDATE 查询,MySQL 不会将原值与新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。

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

例子

?php

$con = mysql_connect("localhost","mysql_user","mysql_pwd");

if (!$con)

{

die("Could not connect: " . mysql_error());

}

mysql_select_db("mydb");

mysql_query("DELETE FROM mytable WHERE id 5");

$rc = mysql_affected_rows();

echo "Records deleted: " . $rc;

mysql_close($con);

?

输出:Records deleted: 4

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。