用于获取MySQL查询所影响的行数的PHP函数是哪个?

MySQL查询所影响的行数的PHP函数

在进行数据库操作时,我们需要知道操作执行后对于表中的数据影响了多少行,常见的操作包括插入、更新、删除等。而在PHP中,我们可以通过MySQL查询所影响的行数的函数来进行获取。

1. mysqli_affected_rows函数

mysqli_affected_rows函数用于获取前一次MySQL操作所影响的行数,适用于面向对象的mysqli连接。

$link = new mysqli('localhost', 'user', 'password', 'database');

if ($link->connect_errno) {

die('Connect Error:' . $link->connect_error);

}

$sql = "UPDATE user_table SET age=age+1 WHERE sex='female'";

$link->query($sql);

$affected_rows = $link->affected_rows;

echo "操作所影响行数:" . $affected_rows;

在上述代码中,我们先创建一个mysqli对象$link用于连接MySQL数据库。接着执行一个模拟的更新操作,将性别为女的用户的年龄加1,然后通过$link->affected_rows获取该操作所影响的行数。

2. mysql_affected_rows函数

mysql_affected_rows函数用于获取前一次MySQL操作所影响的行数,适用于面向过程的MySQL连接。

$link = mysql_connect('localhost', 'user', 'password');

if (!$link) {

die('Connect Error:' . mysql_error());

}

mysql_select_db('database', $link);

$sql = "DELETE FROM user_table WHERE age>50";

mysql_query($sql, $link);

$affected_rows = mysql_affected_rows($link);

echo "操作所影响行数:" . $affected_rows;

在上述代码中,我们使用mysql_connect函数来创建MySQL连接,使用mysql_select_db函数来选择相应的数据库。接着执行一个删除操作,删除年龄大于50岁的用户,并通过mysql_affected_rows获取该操作所影响的行数。

3. PDO::rowCount方法

PDO::rowCount方法用于获取最后一次执行SQL语句后所影响的行数,适用于PDO连接方式。

$dsn = 'mysql:host=localhost;dbname=database';

$user = 'user';

$pass = 'password';

try {

$pdo = new PDO($dsn, $user, $pass);

$sql = "INSERT INTO user_table(name,age,sex) VALUES('Michael',22,'male')";

$pdo->query($sql);

$affected_rows = $pdo->rowCount();

echo "操作所影响行数:" . $affected_rows;

} catch (PDOException $e) {

echo "Connection failed:" . $e->getMessage();

}

在上述代码中,我们使用PDO连接方式进行数据库连接,并执行一个插入操作,插入一条新的用户信息。然后通过$pdo->rowCount方法获取该操作所影响的行数。

Conclusion

以上介绍了三种不同连接方式下,获取MySQL查询所影响行数的具体方法。根据不同的连接方式,选择对应的函数或方法进行调用即可。此外,在实际应用中,获取操作所影响的行数非常重要,能够帮助我们快速了解执行结果。因此,在开发过程中,需要注意相应函数或方法的使用以及获取方式的正确性。

后端开发标签