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

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

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

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

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Q&A

0回答

528閲覧

エラーの原因を教えてください。

1981225

総合スコア67

PHP

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

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

0グッド

2クリップ

投稿2020/09/17 15:47

私はhttps://itport.cloud/?p=7951
にある[保存処理]のプログラムを丸ごとコピーして
SNSを作成中です。
このプログラムが推奨している環境は以下です。
1 OS:       Windows10(64bit)
2 Webサーバー : Apache/2.4.41 (Win64)
3 PHPバージョン: 7.2.21
4 DB:      (MySQL)8.0.17 for Win64

しかし私のPC環境は以下です。
1)OS:       Windows10(64bit)
2)Webサーバー : Apache/2.4.46 (Win64) OpenSSL/1.1.1g
5)PHPバージョン: 7.4.9
4)DB:  10.4.14-MariaDB - mariadb.org binary distribution

私の環境で、サイトのプログラム動かすと、以下のエラーが出ます。

Notice: Undefined variable: mysql in C:\xampp\htdocs\YPHPSample\SNS\Untitled-2.php on line 17

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

Notice: Undefined variable: mysql in C:\xampp\htdocs\YPHPSample\SNS\Untitled-2.php on line 18
DB接続エラー

以上は全部DB関連ですが、プログラムの場所は以下です。

//DBに接続
$mysql = mysqli_connect('localhost', 'root', 'AoFLS030cztQMGzd6i3e', 'fp_bbs');
mysqli_set_charset($mysql, 'utf8');
if (!$mysql) {
exit('DB接続エラー');

全部DBです(汗)。どうしたらエラーがでなくなりますか?
よろしくお願いします。


問題のプログラムは以下です。

<!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>****

以下余談
サイトが推奨している環境と私の環境は異なっています。

大きな違いは!
私はMariaDBですが、サイトはDB(MySQL)を使っていますが!
しかし、DBの開発者は同じなので、体質も同じであり、それからくるエラーは
「あんまり関係ない」との、回答を得ていますので、問題はないと思います。

後は、PHPバージョンは私が最新なので、サイトは古く非推奨も
多少ありますが、以後バグが発生する可能性はあります。
今回のエラーとは、DB関連なので違うような気がします。

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

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

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

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

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

ex025

2020/09/17 16:00 編集

Markdownを正しく使用してください。 1. 見出しを正しく使用してください。 「### 見出し」(#の数で見出しの層が決まる)です。 見出しでないところが突然見出しになっているのはやめてください。 2. 箇条書きはmarkdownの箇条書きを使用してください。 「 0. OS:       Windows10(64bit) 0. Webサーバー : Apache/2.4.46 (Win64) OpenSSL/1.1.1g 」 3. コードやエラーはコードブロックを使用してください。 「 ```PHP コード ``` ``` エラーメッセージ ``` 」
hentaiman

2020/09/17 18:30

エラーの原因は自分で書いた質問内容に書いてあるのでそこから遡ってデバッグしましょう それと見辛い
m.ts10806

2020/09/17 20:46

ローカルでしょうか とはいえ、パスワードなどそのままのような内容を出すのはやめた方がよろしいかと 編集しても履歴からみれるので削除依頼を出して投稿し直すのをすすめます。
m.ts10806

2020/10/05 23:28

指摘を無視して成長も理解もないというのが分かる反面教師的な事例。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問