pdo-create数据库如果不存在

pcww981p  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(333)

这是我们的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();
}

..
有个错误!
分析错误:语法错误,中出现意外的“create”(t\u字符串)
如何解决这个问题。

gupuwyp2

gupuwyp21#

$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);

相关问题