0
您好我在执行PDO准备语句时出错。我的地方发展工作正常,但是当我尝试插入在云cleardb这个错误发生:PHP PDO执行错误,并插入cleardb
SQLSTATE [42000]:语法错误或访问冲突:1142 INSERT命令剥夺了用户'b2218f51d4a66e'@'191.235.136.58 '表 '用户'' 在/var/www/php1/CRUD.php:52
function create_User($firstname, $lastname, $username, $password, $address, $city, $zip, $country, $email) {
global $dbh;
$this->password = $password;
$token = md5($this->salt1 . $this->password . $this->salt2);
$this->sth = $dbh->prepare('INSERT INTO `Php_Project`.`User`
(
userName,
passWord,
create_DateStamp,
e_mail)
VALUES
(
:username,
:token,
NOW(),
:email
);
“);
$this->sth->bindParam(':username', $username, PDO::PARAM_STR);
$this->sth->bindParam(':token', $token, PDO::PARAM_STR);
$this->sth->bindParam(':email', $email, PDO::PARAM_STR);
if ($this->sth->execute()) {
$this->message = "true";
} else {
$this->message = "false";
}
if ($this->message == "true") {
$userId = $dbh->lastInsertId();
$this->sth = $dbh->prepare('INSERT INTO `Php_Project`.`user_Detail`
(
firstName,
lastname,
adress,
zip,
city,
country,
userId)
VALUES
(
:firstname,
:lastname,
:address,
:zip,
:city,
:country,
:userId
);');
$this->sth->bindParam(':firstname', $firstname, PDO::PARAM_STR);
$this->sth->bindParam(':lastname', $lastname, PDO::PARAM_STR);
$this->sth->bindParam(':address', $address, PDO::PARAM_STR);
$this->sth->bindParam(':zip', $zip, PDO::PARAM_INT);
$this->sth->bindParam(':city', $city, PDO::PARAM_STR);
$this->sth->bindParam(':country', $country, PDO::PARAM_STR);
$this->sth->bindParam(':userId', $userId, PDO::PARAM_STR);
if ($this->sth->execute()) {
$this->message = true;
} else {
$this->message = false;
}
}
}
如果是这样为什么这个查询工作正常从MySQL工作台:INSERT INTO'as_754979fd4dcbfcb'.'user' ('userId', 'userName', 'passWord', 'create_DateStamp', 'update_DateStamp', 'e_mail') VALUES (默认, “1111”, “2222”, 现在(), 默认, “[email protected]”); – surajnew55
您是否以用户'b2218f51d4a66e'的身份登录Workbench?另外请注意,用户标识符的第二部分也是计数的(例如,'b2218f51d4a66e'@191.235.136.58'与'b2218f51d4a66e'@'%'不同,后者允许从任何主机访问而不是一个主机) – GMemory