本文目录一览:
- php中关于mysql_affected_rows的问题,怎么解决?
- PHP函数mysql_affected_rows()与mysql_num_rows()有什么区别?
- 如何在PHP中获取MYSQL数据库返回的数据的行数?
- PHP使用mysqli扩展连接MySQL数据库
- php中mysql_affected_rows返回值的问题
- php中mysql_affected_rows的作用是什么
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数据库返回的数据的行数?
- 首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。
- 接下来在Editplus编辑器中创建一个PHP文件,然后进行数据库连接,并且选择要操作的数据库。
- 然后通过mysql_query方法执行一个Insert的插入语句。
- 执行完毕以后,我们回到数据库管理工具中,这个时候你会发现插入的中文乱码了。
- 接下来我们在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