#エラー内容
現在、DB接続においての実装をしており以下のようなエラー文が返ってきました。
しかし、ググっても有益な情報に至れずにいます。
エラー:SQLSTATE[HY000] [2019] Unknown character set
#試したこと
「character setを知らない」ということなので、下のDSNが概要箇所かと思い調べてみました。
$dbh = new PDO(sprintf('mysql:host=localhost,dbname=%s test;charset=utf8/tmp/mysql.sock', $db), $user, $pass);
すると、 「utf-8のハイフンはいらない」という答えばかりで「charset=utf8」としていてハイフンのないので違う、
いくつかのブログ記事や知り合いの見せてもらったコードには「/tmp/mysql.sock」の部分がないことが多かったので「/tmp/mysql.sock」をなくしてみましたが、
エラー:SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
と返ってきたのでこれも違う。
というように、「charset=utf8」をどうにかするまでは予測ができましたが、解消の方法がわかりません。
どなたかお教えいただけないでしょうか?
よろしくお願いします。
#追記1
すいません一部修正で、
「/tmp/mysql.sock」をなくしてみたことですが、
エラー:SQLSTATE[HY000] [2002] No such file or directory
と返ってきました。
#追記2
起きていたエラーですか、以下で解決しました。
$dbh = new PDO(sprintf('mysql:dbname=%s;host=%s;charset=utf8', $db, $host), $user, $pass);
パラメータの順番が原因だったそうで、dbname,host,charsetの順に入れ替えたところ、エラーが返って来なくなりました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/20 13:56