<!DOCTYPE html>

<html lang="ja">

    <head>

        <meta charset="UTF-8">

        <title>BBS</title>

    </head>

    <body>

        <h1>BBS</h1>

        <form action="bbs.php" method="post">

            名前: <input type="text" name="name" /><br>

            内容: <input type="text" name="comment" size="60" /><br>

            <input type="submit" name="submit" value="送信" />

        </form>

        <?php

            //DBに接続

            $mysql = mysqli_connect('localhost', 'root', 'AoFLS030cztQMGzd6i3e', 'fp_bbs');

            mysqli_set_charset($mysql, 'utf8');

            if (!$mysql) {

                exit('DB接続エラー');

            }

            //DBの選択

            $result = mysqli_select_db($mysql, 'fp_bbs');

            if (!$result) {

                exit('DB選択エラー');

            }

            $errors = array();

 

            //POSTなら保存処理

            if($_SERVER['REQUEST_METHOD'] === 'POST') {

                //名前のチェック

                $name = null;

                //名前がnullでないことをチェック

                if(!isset($_POST['name']) || !strlen($_POST['name'])) {

                    $errors['name'] = '名前を入力してください';

                } else if (strlen($_POST['name']) > 40) {

                    $errors['name'] = '名前は40文字以内で入力してください';

                } else {

                    $name = $_POST['name'];

                }

                 //コメントのチェック

                 $comment = null;

                 //名前がnullでないことをチェック

                 if(!isset($_POST['comment']) || !strlen($_POST['comment'])) {

                     $errors['comment'] = 'コメントを入力してください';

                 } else if (strlen($_POST['comment']) > 200) {

                     $errors['comment'] = 'コメントは200文字以内で入力してください';

                 } else {

                     $comment = $_POST['comment'];

                 }

                //エラーがなければ保存

                if (count($errors) === 0) {

                    //保存するためのSQL分を作成

                    $sql ='INSERT INTO post(Pname, comment, created_day)VALUES("'

                        .mysqli_real_escape_string($mysql, $name).'","'

                        .mysqli_real_escape_string($mysql, $comment).'",\''

                        .date('Y-m-d H:i:s').'\')';

 

                    //保存する

                    mysqli_query($mysql, $sql);

                }

            } 

        ?>

    </body>

</html>

以上のエラー内容は以下です。

Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\YPHPSample\SNS\Untitled-2.php on line 16

 

Warning: mysqli_set_charset() expects parameter 1 to be mysqli, boolean given in C:\xampp\htdocs\YPHPSample\SNS\Untitled-2.php on line 17

DB接続エラー

 

※A XAMPP Control Panel v3.2.2

  の仕様は以下です。

-------------------------------------------

データベースサーバ

サーバ: 127.0.0.1 via TCP/IP

サーバの種類: MariaDB

サーバの接続: SSL is not being used ドキュメント

サーバのバージョン: 10.1.36-MariaDB - mariadb.org binary distribution

プロトコル バージョン: 10

ユーザ: root@localhost

サーバの文字セット: UTF-8 Unicode (utf8)

--------------------------------------------------

ウェブサーバ

Apache/2.4.34 (Win32) OpenSSL/1.1.0i PHP/7.2.10

データベースクライアントのバージョン: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $

PHP 拡張: mysqliドキュメント curlドキュメント mbstringドキュメント

PHP のバージョン: 7.2.10

--------------------------------------------------

phpMyAdmin

バージョン情報: 4.8.3, 最終安定バージョン: 4.9.5

ドキュメント

phpMyAdmin オフィシャルサイト

phpMyAdmin に協力するには

サポート

更新履歴

ライセンス

------------

以上