質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2052閲覧

MYSQL データベースが見つからない

kotouharuto

総合スコア38

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/07/23 06:04

実現したい事

データベースを見つけて接続したい

現状

現在htmlで入力したデータを受け取って、データベースに保存を使用としたのですが、
SQLSTATE[HY000] [1049] Unknown databaseと怒られてしまいます。

該当のソースコード

PHP

1//db接続用のファイルです。 2 3$db_user = 'root'; 4 $db_pass = 'root'; 5 $db_host = 'localhost'; 6 $db_name = "training"; 7 $db_type = "mysql"; 8 9 $dsn = "$db_type:host=$db_host;dbname=$db_name;charset=utf8"; 10 11 try { 12 $pdo = new PDO($dsn, $db_user, $db_pass); 13 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 14 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 15 } catch (PDOException $Exception) { 16 die('error:'. $Exception->getMessage()); 17 }

試した事

  • 使用データベースの変更

->試しに過去に作成したデータベースを$db_nameの部分の入れてみると接続に成功しました。なのでおそらくデータベースの設計自体に問題がある?

  • データベースの名前は間違っていない?

->こちらも確認しましたが間違いなく作成してあります。

※ちなみにデータベースの構造はこのような感じになっています。
イメージ説明


以上です。
わかる方がいらしたらご回答よろしくお願いします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/07/23 06:17

変数ではなく直に書くとどうでしょうか
kotouharuto

2020/07/23 09:14

確かにそれも良さそうですね! 試してみます。
kotouharuto

2020/07/23 09:18

試してみましたが、特に変わらず同じエラーが出てしまいました。
guest

回答2

0

自己解決

ラチが開かなそうなので現在のデータベースを削除して似たようなデータベースを作成して接続完了しました。

m.ts10806さんありがとうございました!

投稿2020/07/23 13:00

kotouharuto

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ポート8889になってるのが気になります。
何も指定しなければデフォルトのポートで接続しにいきます。デフォルトのポート以外で立ち上げているのなら、接続時に指定する必要があります。

投稿2020/07/23 11:38

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kotouharuto

2020/07/23 11:49

ポート指定に関しては試したのですが、特に変わらず同じエラーが出てしまいました。
m.ts10806

2020/07/23 12:06

確実に存在するデータベースなのであれば「別のところにつながっている=ポートが違う」という可能性が高いと思います。 コマンドからそのデータベースに接続できますか?
kotouharuto

2020/07/23 13:02

ターミナルからコマンドで接続できるかという事ですか? それなのであれば無理でした。 なのでデータベース名を変更して似たようなものを作成して接続完了しました。 ありがとうございました!
m.ts10806

2020/07/23 13:04

結局データベースが正しくできてなかっただけでは。 問題切り分けのために自身でやれることは沢山あります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問