【问题标题】:PHP PDO - How to check if database created successfully ? (MS SQL Server)PHP PDO - 如何检查数据库是否创建成功? (MS SQL 服务器)
【发布时间】:2014-12-14 20:31:41
【问题描述】:

我正在执行一个创建数据库的查询。我想检查查询是否成功。数据库是sql server。提前感谢您的帮助...

 $dbh = new \PDO("sqlsrv:Server=.\SQLEXPRESS;", "login", "password");
 $dbh = $dbh->exec("CREATE DATABASE some_name;");

【问题讨论】:

  • 你为什么删除你的旧问题?你可以编辑它!
  • 你可以检查数据库是否存在?!

标签: php sql-server pdo


【解决方案1】:

创建后可以查看使用SELECT DATABASES LIKE 'database_name' 当结果包含一个条目时,您就知道它已被创建。

示例代码:

$dbh = new \PDO("sqlsrv:Server=.\SQLEXPRESS;", "login", "password");
$dbh->exec("CREATE DATABASE some_name;");
$db_check = $dbh->query("SHOW DATABSES LIKE 'some_name'");

if ($db_check->rowCount() > 0) {
  // CREATED 
} else {
  // NOT CREATED
}

【讨论】:

  • 你好阿伦。我使用 try/catch,正如我在帖子中所说,查询成功。但是在 exec 之后(在 try 块中)我想检查它是否成功......
  • 糟糕,抱歉,错过了那部分。我会编辑答案。
  • 我收到以下消息:“$db_check...”行的“调用非对象上的成员函数 exec()”。尽管如此,数据库已成功创建。
【解决方案2】:
try {
    $dbh->exec("CREATE DATABASE some_name;");

   } catch (PDOException $e) {
    $e.getMessage();
}

或者你可以做类似的事情

if($db->query("CREATE DATABASE some_name")){
     echo "database created";
}else{
     echo "there was a problem creating database";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2010-12-15
    • 2018-07-19
    相关资源
    最近更新 更多