在cleardb中执行和插入时发生PHP PDO错误
嗨,我在执行PDO prepare语句时出错了。我的本地开发工作正常,但当我尝试在云中插入cleardb时,会出现以下错误: SQLSTATE[42000]:语法错误或访问冲突:1142 INSERT命令拒绝给/var/www/php1/CRUD.php:52中表“user”的用户“b2218f51d4a66e”@“191.235.136.58” "),在cleardb中执行和插入时发生PHP PDO错误,php,mysql,pdo,cleardb,Php,Mysql,Pdo,Cleardb,嗨,我在执行PDO prepare语句时出错了。我的本地开发工作正常,但当我尝试在云中插入cleardb时,会出现以下错误: SQLSTATE[42000]:语法错误或访问冲突:1142 INSERT命令拒绝给/var/www/php1/CRUD.php:52中表“user”的用户“b2218f51d4a66e”@“191.235.136.58” "), 这是一个权限问题。您的数据库用户对开发服务器上的表具有INSERT权限,但对生产服务器上的表没有权限,因此,您需要在生产服务器上使用GRANT
这是一个权限问题。您的数据库用户对开发服务器上的表具有
INSERT
权限,但对生产服务器上的表没有权限,因此,您需要在生产服务器上使用GRANT
更改用户权限。如果是这样,为什么此查询可以在mysql workbench中正常工作:插入到中作为\u 754979fd4dcbfcb
user
(userId
,userName
,passWord
,create\u DateStamp
,update\u DateStamp
,e\u mail
)值(默认值,“1111”,“2222”,now(),默认值,“abc@123.com");您是否以用户身份登录Workbenchb2218f51d4a66e
?另外,请记住,用户标识符的第二部分也很重要(例如,“b2218f51d4a66e@'191.235.136.58'与“b2218f51d4a66e@%”不同,后者允许从任何主机而不是单个主机进行访问)
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;
}
}
}