为什么rowCount始终为0,当我更新我的用户表时,请使用以下语句

时间:2016-04-22 19:40:01

标签: php mysql pdo

所以我想使用html表单更新mysql数据库中的一些用户数据,但是提醒的数字总是0.但是在phpmyadmin中使用命令它正在工作。 也许准备声明对我的参数做错了什么?

function updateUser($newemail, $name, $email) {
    $stmt = $this->db->prepare("update user set name=:name, email=:newemail where email=:email");
    $stmt->bindValue(":newemail", $newemail, PDO::PARAM_STR );
    $stmt->bindValue(":name", $name, PDO::PARAM_STR );
    $stmt->bindValue(":email", $email, PDO::PARAM_STR );
    $stmt->execute();

    $x =$stmt->rowCount();
    echo "<script>alert($x);</script>";
}

我正在调用这个函数。所以他们新的变量必须是不同的:

if( (strcmp($newemail,$email) != 0) ||  (strcmp($newname,$name)!= 0) ){
    $this->db->updateUser($newemail, $name, $email);
}

1 个答案:

答案 0 :(得分:0)

您正在使用错误的名称变量调用该函数。您使用旧名称而不是新名称,因此不会更改名称。

if( (strcmp($newemail,$email) != 0) ||  (strcmp($newname,$name)!= 0) ){
    $this->db->updateUser($newemail, $newname, $email);
}