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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

PHP

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

Q&A

解決済

1回答

1464閲覧

チャットシステム構築中におけるmysqli_connectエラー

RhymeLight

総合スコア12

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

PHP

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

0グッド

0クリップ

投稿2016/10/10 10:50

現在、さくらインターネット上でチャットシステムを構築中なのですがエラーが発生したため質問させていただきます。

html

1<!doctype html> 2<html> 3<head> 4<meta charset="utf-8"> 5<title>チャットシステム</title> 6</head> 7<body> 8<form name="form1" method="post" action="chat.php"> 9ハンドル名:<input name="fHandle" type="text"> 10<input name="fIn" type="hidden" value="logIn"> <!-- ログイン情報送信 --> 11<input type="submit" name="Submit" value="入室"> 12<input type="reset" name="Submit2" value="クリア"> 13</form> 14</body> 15</html>

php

1<!doctype html> 2<html> 3<head> 4<meta charset="utf-8"> 5<title>チャットルーム</title> 6</head> 7<body> 8<?php 9//DB設定 10$DB_HOST = 'mysqlxxx.db.sakura.ne.jp'; 11$DB_USER = 'xxxxx'; 12$DB_PASS = 'xxxxx'; 13$DB_NAME = 'xxxxx_chat_db'; 14 15if(isset($_POST['fHandle'])) $sHandle=$_POST['fHandle']; else $sHandle=""; //ハンドルネーム受け取り 16if(isset($_POST['fMsg'])) $sMsg=$_POST['fMsg']; else $sMsg=""; //メッセージを受け取り 17if(isset($_POST['fIn'])) $sIn=$_POST['fIn']; else $sIn=""; //最初のログイン時のパラメータ「logIn」を受け取り 18if(isset($_POST['fSub2'])) $sSub2=$_POST['fSub2']; else $sSub2=""; //退室ボタンの情報を受け取る。 19?> 20<div> 21<form name="form1" method="post" action="chat.php"> 22 メッセージ:<input name="fMsg" type="text" size="100"> 23 <input name="fHandle" type="hidden" value=<?= $sHandle ?>> <!-- 発言のたびにハンドルネームを送信しています。 --> 24 <input type="submit" name="fSub1" value="発言"> 25 <input type="submit" name="fSub2" value="退室"> 26</form> 27</div> 28<div style="color:blue;">メッセージ:</div> 29 <hr> 30 <?php 31 $conn=mysqli_connect('$DB_HOST','$DB_USER','$DB_PASS') or die("データベース接続に失敗しました。"); 32 mysqli_select_db($conn,'$DB_NAME') or die("指定されたデータベースは存在しません。"); 33//入室時のメッセージを設定しています。 34 if($sIn=="logIn"){ 35 $sMsg="{$sHandle}さんが入室されました。"; 36 } 37 38//退室時のメッセージを設定しています。 39 if($sSub2=="退室"){ 40 $sMsg="{$sHandle}さんが退室されました。"; 41 } 42 43//チャットデータの書き込み 44 $sql="insert into chat_tbl values(null,'{$sHandle}','{$sMsg}',null);"; 45 if(!mysqli_query($conn,$sql)){ 46 echo "チャットデータの書き込みに失敗しました。<br>\n"; 47 exit(); 48 } 49 50//メッセージの表示。 51 $sql="select * from chat_tbl order by messagetime desc;"; //データベースのレコードを後ろから前に向かって読み込んでいます。 52 if($result=mysqli_query($conn,$sql)){ 53 while($row=mysqli_fetch_array($result,MYSQL_ASSOC)){ 54 echo "<span style=\"color:pink;\">{$row['handle']}</span><span style=\"color:red;\">></span>\n 55 <span style=\"color:black;\">{$row['message']}</span><span style=\"color:red;\">:</span>\n 56 <span style=\"color:yellow;\">{$row['dateTime']}</span>\n 57 <hr>\n"; 58 } 59 } 60 else{ 61 echo "チャットデータの抽出に失敗しました<br>\n"; 62 } 63 mysqli_close($conn); 64?> 65</body> 66</html>

MySQL
mysql


これを実行すると

イメージ説明

mysqli_connectエラーが発生します。

さくらインターネットのmysqliは許可されており、何故このようなエラーが吐かれるのかがわかりません。

ご教授お願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

php

1 $conn=mysqli_connect('$DB_HOST','$DB_USER','$DB_PASS') or die("データベース接続に失敗しました。"); 2 mysqli_select_db($conn,'$DB_NAME') or die("指定されたデータベースは存在しません。");

php

1 $conn=mysqli_connect($DB_HOST, $DB_USER, $DB_PASS) or die("データベース接続に失敗しました。"); 2 mysqli_select_db($conn, $DB_NAME) or die("指定されたデータベースは存在しません。");

投稿2016/10/10 10:54

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

RhymeLight

2016/10/10 11:00

変更してみましたところ、上手く接続できるようになりました。 ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問