我可以在PHP中使用PDO创build数据库吗?

我想创build一个使用PDO与MySQL交互的类。 我可以使用PDO创build一个新的MySQL表吗?

是的你可以。

dsn部分是PDO构造函数的第一个参数,不必具有数据库名称。 你可以简单地使用mysql:host=localhost 。 然后,鉴于您拥有正确的权限,您可以使用常规的SQL命令来创build数据库和用户等。

以下是install.php的一个例子,它以root身份login,创build一个数据库,一个用户,并授予用户所有权限给新创build的数据库:

 <?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()); } ?> 

是的,它像运行像“CREATE TABLE …”一样的常规查询