[英]PHP PDO Update Query not working
I am PDO newbie and i dont know how to catch error's or see what wrong anyway look at this code : 我是PDO新手,我也不知道如何捕捉错误或看看有什么错误请看以下代码:
Call The Function here : 在这里调用函数:
$this->storage->updateTriplet($cookieValues[0],$newToken.$this->salt, $cookieValues[2].$this->salt, $t, $expire);
The problem function : 问题功能:
public function updateTriplet($credential, $token, $persistentToken,$t, $expire=0) {
$sql = "UPDATE {$this->tableName}
SET cred=?, tok=?, ptok=?, t=?, expires=?
WHERE ptok=?'".$persistentToken."' ";
$query = $this->connection->prepare($sql);
$query->execute(array($credential ,$token, $persistentToken , $t , date("Y-m-d H:i:s", $expire)));
}
And that the good function ,insert function i using : 那个好功能,我使用插入功能:
public function storeTriplet($credential, $token, $persistentToken,$t, $expire=0) {
$sql = "INSERT INTO {$this->tableName}({$this->credentialColumn}, " .
"{$this->tokenColumn}, {$this->persistentTokenColumn}, " .
"{$this->t},{$this->expiresColumn}) VALUES(?, SHA1(?), SHA1(?),?, ?)";
$query = $this->connection->prepare($sql);
$query->execute(array($credential, $token, $persistentToken,$t, date("Y-m-d H:i:s", $expire)));
}
Anyway my insert function working perfect the problem is on the Update Function first one ,my update function not working , any one know where is my problem and what i am doing wrong ? 无论如何,我的插入函数运行完美 ,问题出在第一个更新函数上,我的更新函数不起作用,有人知道我的问题在哪里,我在做什么错吗? and how to see the MySql PDO error's on the Update Function ?
以及如何查看更新功能上的MySql PDO错误?
Updated : answered and fix : 更新:已回答并解决:
public function updateTriplet($credential, $token, $persistentToken,$t, $expire=0) {
$sql = "UPDATE {$this->tableName}
SET cred=?, tok=?, ptok=?, t=?, expires=?
WHERE ptok=SHA1('".$persistentToken."');
$query = $this->connection->prepare($sql);
$query->execute(array($credential ,$token, $persistentToken , $t , date("Y-m-d H:i:s", $expire)));
}
Thanks so much. 非常感谢。
It seems that you missed to provied ptok
parameter. 似乎您错过了提供的
ptok
参数。
$sql = "UPDATE {$this->tableName}
SET cred=?, tok=?, ptok=?, t=?, expires=?
WHERE ptok=?";
$query->execute(array($credential ,$token, $persistentToken ,
$t , date("Y-m-d H:i:s", $expire), $ptok));
// ^______ Add this variable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.