PDO-如果不存在则创建数据库

时间:2018-08-20 15:25:04

标签: php mysql pdo

这是我们的db.php

$host = 'localhost';
$username = 'root';
$password = '';
try
{
    $conn = new PDO("mysql:host=".$host.", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "CREATE DATABASE IF NOT EXISTS teacher";
    $conn->exec($sql);
    $sql = "use teacher";
    $conn->exec($sql);
}
catch(PDOException $e)
{
    echo "Error".$e->getMessage();
}

..

出现错误!

  

解析错误:语法错误,意外出现“创建”(T_STRING),

如何解决此问题。

1 个答案:

答案 0 :(得分:1)

$conn = new PDO("mysql:host=".$host.", $username, $password);
                ^           ^       ^
                1           2       3

双引号1开始一个字符串。

双引号2结束一个字符串。

双引号3开始一个字符串。

该字符串直到这里才关闭:

$sql = "CREATE ...
       ^
       4

双引号4结束字符串。

这意味着CREATE被解释为PHP关键字,而不是字符串的一部分。

提示:您可以将变量放在双引号中。这样可以更轻松地避免这种类型的不平衡引用错误。

$conn = new PDO("mysql:host=$host", $username, $password);