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

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

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

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

3回答

2240閲覧

PHPエラー

usagityan

総合スコア30

PHP

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2016/07/04 15:34

###前提・実現したいこと
以下のエラーが出てしまい、前に進めません。
助けてください。

###発生している問題・エラーメッセージ

Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)' in /Applications/MAMP/htdocs/todo/index.php:28 Stack trace: #0 /Applications/MAMP/htdocs/todo/index.php(28): PDO->__construct('mysql:dbname=to...', 'root', '') #1 {main} thrown in /Applications/MAMP/htdocs/todo/index.php on line 28

###該当のソースコード

php

1<?php 2ini_set( 'display_errors', 1 ); 3 4$errors = array(); 5 6if(isset($_POST['submit'])){ 7 8 $name = $_POST['name']; 9 $memo = $_POST['memo']; 10 11 $name = htmlspecialchars($name, ENT_QUOTES); 12 $memo = htmlspecialchars($memo, ENT_QUOTES); 13 14 if($name === ''){ 15 $errors['name'] = 'お名前が入力されていません。'; 16 } 17 18 if($memo === ''){ 19 $errors['memo'] = 'メモが入力されていません。'; 20 } 21 22 if(count($errors) === 0){ 23 24 $dsn = 'mysql:dbname=todolist;host=localhost;charset=utf8'; 25 $user = 'root'; 26 $password = ''; 27 28 $dbh = new PDO($dsn, $user, $password); 29 $dbh->query('SET NAMES utf8'); 30 $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 31 32 $sql = 'INSERT INTO tasks (name, memo, done) VALUES (?, ?, 0)'; 33 $stmt = $dbh->prepare($sql); 34 35 36 $stmt->bindValue(1, $name, PDO::PARAM_STR); 37 $stmt->bindValue(2, $memo, PDO::PARAM_STR); 38 39 $stmt->execute(); 40 41 $dbh = null; 42 43 unset($name, $memo); 44 } 45} 46?> 47<!doctype html> 48<html> 49<head> 50<meta charset="utf-8"> 51<title>Todoリスト</title> 52</head> 53<body> 54<h1>Todoリスト</h1> 55<?php 56if(isset($errors)){ 57 print("<ul>"); 58 foreach($errors as $value){ 59 print("<li>"); 60 print($value); 61 print("</li>"); 62 } 63 print("</ul>"); 64} 65?> 66<form action="index.php" method="post"> 67<ul> 68 <li><span>タスク名</span><input type="text" name="name" value="<?php if (isset($name)) { print($name); } ?>"></li> 69 <li><span>メモ</span><textarea name="memo"><?php if (isset($memo)) { print($memo); } ?></textarea></li> 70 <li><input type="submit" name="submit"></li> 71</ul></form> 72</body> 73</html>

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

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

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

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

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

guest

回答3

0

書いてありますよ。
Access denied for user 'root'@'localhost' (using password: NO)

投稿2016/07/04 15:49

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

英語の分からないエラーメッセージについても、読み飛ばさず
不明な単語は調べてでも読む癖をつけておくと、後々良いと思います。

投稿2016/07/05 00:21

yodel

総合スコア508

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

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

0

ベストアンサー

原因は
Access denied for user 'root'@'localhost' (using password: NO)
とある通り、アクセス拒否です。

データベースにアクセスする権限がないために拒否されています。
該当データベースにアクセス権限を設定しましょう。

投稿2016/07/04 23:42

orange0190

総合スコア1698

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問