php - 如何使用 mysqli 获取受影响的行?

标签 php mysqli

我创建了在数据库中进行查询的函数:

function mysqli($query){
    $mysqli = new mysqli('test','test','test','test');
    if (mysqli_connect_errno()) {
        printf("Bad connect: %s\n", mysqli_connect_error());
        exit();
    }
    $result = $mysqli->query("SET NAMES utf8");
    $result = $mysqli->query("set character_set_client='utf8'");
    $result = $mysqli->query("set collation_connection='utf8_general_ci'");
    $result = $mysqli->query($query);

    $mysqli->close();
    return $result;
};

在下一步中,我想要获取受影响的行数。

为此我做了:

$res2 = mysqli("INSERT INTO Table (name, value) VALUES ('$name', '$value')");
echo $res2->affected_rows;

但是我得到注意:尝试获取非对象的属性在线echo $res2->affected_rows;

如何获取affected_rows的计数?

最佳答案

此功能毫无意义且有害。

并且永远不应该使用。

所有其他答案都告诉您删除最无用的部分。而你真正需要删除的是连接部分。这使得整个函数毫无用处。

甚至是有害的,因为每次运行查询时都会通过连接来杀死 MySQL 服务器。

甚至更有害,因为它不支持准备好的语句

关于php - 如何使用 mysqli 获取受影响的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19590078/

相关文章:

php mysql INSERT INTO 列(如果存在)

php - 条件内联 div 样式(帮助!)

php - CodeIgniter:无法使用提供的连接到您的数据库服务器

php - 是否有 Kohana 3.x 的 mysqli 驱动程序

php - 如何更改/自定义 Laravel 4 和 Laravel 5 用户身份验证的密码字段名称

PHP/MySQL : strToTime error manipulating dates

php - Laravel blade @can 策略 - 字符串

php - 调用未定义的函数 mysqli_result()

php - phpmyadmin 中的错误 - `mysqli extension is missing`

PHP MySQLi 查询 - "Permission denied"