Php PDO mysql更新错误
我好像犯了个错误,我真的不明白。该过程工作正常,与数据库的连接正常,但由于某些原因,它不会更新。对我来说没有可见的错误,或者Php PDO mysql更新错误,php,mysql,pdo,Php,Mysql,Pdo,我好像犯了个错误,我真的不明白。该过程工作正常,与数据库的连接正常,但由于某些原因,它不会更新。对我来说没有可见的错误,或者php可以识别的错误。下面是代码:(注意最后一个缺失)在我所知道的类上,当我复制粘贴它时发生的,代码中没有问题 public function change_password($user, $pass) { if($user) { $password = md5($pass); $this->_query = $this
php
可以识别的错误。下面是代码:(注意最后一个缺失)在我所知道的类上,当我复制粘贴它时发生的,代码中没有问题
public function change_password($user, $pass) {
if($user) {
$password = md5($pass);
$this->_query = $this->_pdo->prepare("UPDATE users SET password = ? WHERE ? = ?");
if($this->_query->execute(array($pass, Check::data($user), $user))) {
return true;
}
}
return false;
}
class Check {
public static function data($data) {
if($data) {
if(is_numeric($data)) {
$_id = 'id';
} else if(filter_var($data, FILTER_VALIDATE_EMAIL)) {
$_id = 'email';
} else {
$_id = 'username';
}
return $_id;
}
return false;
}
}如果有人被打扰,我解决了这个问题,对于未来的模拟问题,我找到了解决方法
public function change_password($user, $pass) {
if($user) {
$pass = md5($pass);
$id = $this->id($user);
$this->_query = $this->_pdo->prepare("UPDATE users SET password = ? WHERE id = ?");
if($this->_query->execute(array($pass, $id))) {
return true;
}
}
return false;
}
public function id($user) {
if($user) {
$params = $this->fetch($user);
foreach($params as $param) {
if($param['id']) {
return $param['id'];
}
}
}
return false;
}
public function fetch($user) {
if($user) {
if(Check::data($user) === 'id') {
$this->_query = $this->_pdo->prepare("SELECT * FROM users WHERE id = :user");
}
if(Check::data($user) === 'email') {
$this->_query = $this->_pdo->prepare("SELECT * FROM users WHERE email = :user");
}
if(Check::data($user) === 'username') {
$this->_query = $this->_pdo->prepare("SELECT * FROM users WHERE username = :user");
}
$this->_query->execute(array(':user' => $user));
return $this->_query->fetchAll();
}
return false;
}`class Check {
public static function data($data) {
if($data) {
if(is_numeric($data)) {
$_id = 'id';
} else if(filter_var($data, FILTER_VALIDATE_EMAIL)) {
$_id = 'email';
} else {
$_id = 'username';
}
return $_id;
}
return false;
} }
在哪里?=代码>可能的重复应该是其中column\u name=?
我知道,所以我更改了它。