Mysql 无法使用PDO创建数据库架构
我无法创建MySQL数据库模式并通过PDO分配用户权限,我找不到我的代码有任何错误:Mysql 无法使用PDO创建数据库架构,mysql,pdo,Mysql,Pdo,我无法创建MySQL数据库模式并通过PDO分配用户权限,我找不到我的代码有任何错误: $db = $this->pdo->prepare( 'CREATE SCHEMA :dbName; GRANT ALL ON :dbName.* TO :dbUser@`localhost` IDENTIFIED BY :dbPassword' ); $db->bindParam( ':dbName', $dbName,
$db = $this->pdo->prepare( 'CREATE SCHEMA :dbName;
GRANT ALL ON :dbName.* TO :dbUser@`localhost` IDENTIFIED BY :dbPassword' );
$db->bindParam( ':dbName', $dbName, PDO::PARAM_STR );
$db->bindParam( ':dbUser', $dbUser, PDO::PARAM_STR );
$db->bindParam( ':dbPassword', $dbPassword, PDO::PARAM_STR );
$db->execute();
var_export($db->errorInfo());
返回:
'您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在“测试”附近使用的正确语法;将“测试”中的所有内容授予第1行的“测试”- 参数(如
)采用标量输入,如字符串和数字。不能将它们用于列名或表名;这些必须显式地输入到查询中。也就是说,:dbName
将失败,但您需要的是CREATE SCHEMA'test'
CREATE SCHEMA test
- PDO不能在单个语句中运行多个查询(故意)。将其拆分为单独的查询