PHP PDO - Как проверить, успешно ли создана база данных? (MS SQL Server)

0

Я выполняю запрос, который создает базу данных. Я хочу проверить, был ли запрос успешным. База данных - это сервер sql. Заранее спасибо за вашу помощь...

 $dbh = new \PDO("sqlsrv:Server=.\SQLEXPRESS;", "login", "password");
 $dbh = $dbh->exec("CREATE DATABASE some_name;");
  • 0
    Почему вы удалили свой старый вопрос? Вы могли редактировать это!
  • 0
    Вы можете проверить, существует ли БД ?!
Теги:
sql-server
pdo

2 ответа

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
}
  • 0
    Привет Арон. Я использую try / catch и, как я уже сказал в своем посте, запрос выполнен успешно. Но сразу после exec (в блоке try) я хотел бы проверить, было ли оно успешным ...
  • 0
    Ой, извините, пропустил эту часть. Я отредактирую ответ.
Показать ещё 2 комментария
0
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";
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню