回答編集履歴

1

加筆

2021/07/15 00:11

投稿

退会済みユーザー
test CHANGED
@@ -1 +1,19 @@
1
1
  new PDOするところのDSN文字列の書き方がおかしいので、PHPマニュアルの該当ページをみて点検してほしい。
2
+
3
+
4
+
5
+ DSN文字列、MySQL向けの説明は[PHP: PDO_MYSQL DSN - Manual](https://www.php.net/manual/ja/ref.pdo-mysql.connection.php)にあります。
6
+
7
+ [PHPでデータベースに接続するときのまとめ - Qiita](https://qiita.com/mpyw/items/b00b72c5c95aac573b71#%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AB%E6%8E%A5%E7%B6%9A)の「データベースに接続」のあたりもセットで見ると良いです。
8
+
9
+
10
+
11
+ 「mysql:dbname=test;host=localhost;port=3306;charset=utf8mb4」みたいになります。
12
+
13
+ dbnameとhostとcharsetは必要だと思ったほうがいいです。
14
+
15
+ portはデフォルトの3306と違う場合には指定が必要になります。3306で良ければ指定を省けます。
16
+
17
+ hostとportの指定の代わりにunix_socketを使うこともできます。
18
+
19
+ 決して、`%s`のまま放置しないように。おそらくsprintf()するのを忘れているんだろうと思いますが。