mysql-我可以在PHP中使用PDO创建数据库
我想创建一个使用PDO与MySQL交互的类。 我可以使用PDO创建一个新的MySQL表吗?
Xerri asked 2020-02-23T03:52:19Z
2个解决方案
102 votes
是的你可以。
dsn
部分是PDO构造函数的第一个参数,不必具有数据库名称。 您可以简单地使用mysql:host=localhost
。然后,如果您具有正确的特权,则可以使用常规SQL命令来创建数据库和用户等。
以下是来自install.php的示例,它以root用户身份登录,创建一个数据库,一个用户,并向该用户授予对新创建的数据库的所有特权:
<?php
$host="localhost";
$root="root";
$root_password="rootpass";
$user='newuser';
$pass='newpass';
$db="newdb";
try {
$dbh = new PDO("mysql:host=$host", $root, $root_password);
$dbh->exec("CREATE DATABASE `$db`;
CREATE USER '$user'@'localhost' IDENTIFIED BY '$pass';
GRANT ALL ON `$db`.* TO '$user'@'localhost';
FLUSH PRIVILEGES;")
or die(print_r($dbh->errorInfo(), true));
} catch (PDOException $e) {
die("DB ERROR: ". $e->getMessage());
}
?>
-1 votes
是的,就像运行常规查询(如“ CREATE TABLE ...”)一样