繁体   English   中英

如何在PHP中运行检查以查看我的MYSQL存储过程是否正确运行?

[英]How can i run a check in PHP to see if my MYSQL Stored Procedure ran correctly?

我曾经使用过MSSQL,但最近不得不使用MYSQL,我知道这很相似,但是事情的进行方式使我有些困惑。

我的问题是在调用存储过程(插入,更新,选择,删除)之后,如何在PHP中检查从调用函数返回数据之前调用是否成功?

来自PHP的当前MYSQL(SELECT)调用:

public function login($email){
        $stmt = $this->connection->prepare('call loginUser(?)');
        $stmt->bind_param("s", $email);

        $stmt->execute();

        // if($stmt === false){
        //  return false;           HOW I CURRENTLY DO IT IN MSSQL
        // }
        $result = $stmt->get_result();
        $row = mysqli_fetch_assoc($result);

        $stmt->close();
        return json_encode(array("success"=>true));
    }

来自PHP的当前MYSQL(INSERT)调用:

public function registerUser($params){
        // Prepare and Bind
        $stmt = $this->connection->prepare('call addUser(?,?,?,?,?)');
        $stmt->bind_param("sssss", $firstname, $surname, $displayname, $email, $password);

        $firstname = $params['firstname'];
        $surname = $params['surname'];
        $displayname = $params['firstname'] . ' ' . $params['surname'];
        $email = $params['email'];
        $password = password_hash($params['password'], PASSWORD_DEFAULT);

        $stmt->execute();
        $stmt->close();

        return json_encode(array("success"=>true));
    }

尝试这个

 public function registerUser($params= null){
    // Prepare and Bind
    if ($param==0) {
      echo '<script>alert(\'saved\')</script>';
      $stmt = $this->connection->prepare('call addUser(?,?,?,?,?)');
      $stmt->bind_param("sssss", $firstname, $surname, $displayname, $email, $password);

      $firstname = $params['firstname'];
      $surname = $params['surname'];
      $displayname = $params['firstname'] . ' ' . $params['surname'];
      $email = $params['email'];
      $password = password_hash($params['password'], PASSWORD_DEFAULT);

      $stmt->execute();
      $stmt->close();
    }  

  }

执行返回布尔值,可以这样检查

if (! $stmt->execute()) { return false; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM