mysqliが 'ER_BAD_DB_ERROR'/1049のエラー定数を返す場合、データベースを構築するためにクエリを実行できるようにします。ここに私のコードです。エラーが検出された場合、私はmysqliにエラーを表示させずに、データベースを構築するだけです。mysqliがエラー定数 'ER_BAD_DB_ERROR'を返す場合はデータベースを構築
未知のデータベースエラーが表示されると、if()ステートメントでエラーが発生し、データベースが構築されます。
このためにエラーを表示する場合、私はmysqliの実現:
$connection = mysqli_connect($db_server, $db_user, $db_pwd, $dbname);
私がしたいこと、正確なエラーがキャッチされた場合にどのように私は、エラーを表示する代わりにデータベースを構築します。
$db_server = "localhost";
$db_user = "user";
$db_pwd = "";
$dbname = "name";
#connect to database
$connection = mysqli_connect($db_server, $db_user, $db_pwd, $dbname);
#try to catch database not exist error
if ('ER_BAD_DB_ERROR') {
# if true build database and connect again
build_db();
$connection = mysqli_connect($db_server, $db_user, $db_pwd, $dbname);
} else {
#close connection with other errors encounter
die("database connection failed". mysqli_connect_error());
}
ここでベストプラクティスを実行しているかどうかはわかりません。だから、私は全面的に提案とフィードバックを開いています。みんなありがとう。 -
ここで、 'build_db()'のコードは? – Fawzan
これもチェックしてください。 http://stackoverflow.com/questions/3131442/how-do-i-create-a-database-if-it-doesnt-exist-using-php – Fawzan