phpでドットインストールの動画を見て、下のコードを書きました。
php
<?php define('DB_DATABASE', 'test_db'); //データベース指定 define('DB_USERNAME', 'dbuser'); //データベースユーザ define('DB_PASSWORD', '********'); //データベースパスワード define('PDO_DSN', 'mysql:dbhost=localhost;dbname=' .DB_DATABASE); //データベースに接続するための文字列 try { //connect $db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //insert $db->exec("insert into users (name, score) values ('ryo', '55')"); echo "user added!"; //disconnect $db = null; }catch (PDOException $e){ echo $e->getMessage(); exit; }
このindex.phpにアクセスすると、データベースに情報を追加するというシンプルなコードです。
ブラウザから接続すると、SQLSTATE[HY000] [2002] No such file or directory
とエラーが出ます。
エラーの内容は、そのような(接続した)ファイルは見つからないと言われました。
原因として思ったのが、このデータベースのアクセス権をPHPが持っていないことかな?と思いました。
でも、解決方法がわかりません。原因がそれなのかもわかりません。教えて下さい。
OS Mac10.12.2
MySQL 5.7.16
PHP 7.0.14
追記
sudo chmod 777 /usr/local/var/mysql/
ですべてのプログラム、ユーザがmysqlにアクセスできるようにパーミッションを変更したのですが、うまくできなかったので、データベースのアクセス権をPHPが持っていないことが原因ではないと思います。
やり方がちがっていたら、教えてください。
まだ回答がついていません
会員登録して回答してみよう