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

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

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

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

PHP

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

Q&A

解決済

2回答

1293閲覧

コアサーバー上のphpmyadminへ繋ぐにはどうすればいいですか?

harusyoui

総合スコア55

MySQL

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

PHP

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

0グッド

0クリップ

投稿2018/10/01 02:35

連絡相手から「作ってもらったWebアプリケーションをローカルではなく
こちらで用意したコアサーバーに繋げて動かしてほしい」と言われ、

ーーーーーーーーーーーーーーーーーーーーーーー
ドメイン
ーーーーーーーーーーーーーーーーーーーーーーー
コアサーバのホスト
FTP/SFTPポート
ユーザー名
パスワード
ディレクトリ
ーーーーーーーーーーーーーーーーーーーーーーーー
DB名/DBユーザー名
DBパスワード
文字コード
接続ホスト名
接続ポート番号
ーーーーーーーーーーーーーーーーーーーーーー
phpMyAdmin
Basic認証
ユーザー名
パスワード
ーーーーーーーーーーーーーーーーーーーーーーーー

これらの情報が送られてきて自分でも調べたのですがさっぱり
理解できません、下記に書くプログラムのコードのどこをどう
いじれば上手くいきますか?
宜しくお願いします。

php

1<?php 2 3/* HTML特殊文字をエスケープする関数 */ 4function h($str) { 5 return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); 6} 7 8// XHTMLとしてブラウザに認識させる 9// (IE8以下はサポート対象外w) 10header('Content-Type: application/xhtml+xml; charset=utf-8'); 11 12try { 13 14 // データベースに接続 15 $pdo = new PDO( 16 'mysql:host=localhost;dbname=board;charset=UTF8;', 17 'root', 18 '', 19 [ 20 PDO::ATTR_EMULATE_PREPARES => false, 21 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 22 PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 23 ] 24 ); 25 26 /* 書き込みがあったとき */ 27 28 29 30 if ($_POST['word']) { 31 32 // バッファリングを開始 33 ob_start(); 34 35 try { 36 37 // $_FILES['upfile']['error'] の値を確認 38 switch ($_FILES['upfile']['error']) { 39 case UPLOAD_ERR_NO_FILE: 40 break; 41 case UPLOAD_ERR_OK: // OK 42 break; 43 case UPLOAD_ERR_INI_SIZE: // php.ini定義の最大サイズ超過 44 case UPLOAD_ERR_FORM_SIZE: // フォーム定義の最大サイズ超過 45 throw new RuntimeException('ファイルサイズが大きすぎます', 400); 46 default: 47 throw new RuntimeException('その他のエラーが発生しました', 500); 48 } 49 50 /* 画像があったとき */ 51 if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ 52 // $_FILES['upfile']['mime']の値はブラウザ側で偽装可能なので 53 // MIMEタイプを自前でチェックする 54 if (!$info = @getimagesize($_FILES['upfile']['tmp_name'])) { 55 throw new RuntimeException('有効な画像ファイルを指定してください', 400); 56 } 57 if (!in_array($info[2], [IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG], true)) { 58 throw new RuntimeException('未対応の画像形式です', 400); 59 } 60 61 // サムネイルをバッファに出力 62 $create = str_replace('/', 'createfrom', $info['mime']); 63 $output = str_replace('/', '', $info['mime']); 64 if ($info[0] >= $info[1]) { 65 $dst_w = 120; 66 $dst_h = ceil(120 * $info[1] / max($info[0], 1)); 67 } else { 68 $dst_w = ceil(120 * $info[0] / max($info[1], 1)); 69 $dst_h = 120; 70 } 71 if (!$src = @$create($_FILES['upfile']['tmp_name'])) { 72 throw new RuntimeException('画像リソースの生成に失敗しました', 500); 73 } 74 $dst = imagecreatetruecolor($dst_w, $dst_h); 75 imagecopyresampled($dst, $src, 0, 0, 0, 0, $dst_w, $dst_h, $info[0], $info[1]); 76 $output($dst); 77 imagedestroy($src); 78 imagedestroy($dst); 79 } 80 81 // INSERT処理 82 $stmt = $pdo->prepare('INSERT INTO contributions(user_name,word,img_name,type,raw_data,thumb_data,date) VALUES(?,?,?,?,?,?,?)'); 83 $stmt->execute([ 84 $_POST['user_name'], 85 $_POST['word'], 86 $_FILES['upfile']['name'], 87 $info[2], 88 file_get_contents($_FILES['upfile']['tmp_name']), 89 ob_get_clean(), // バッファからデータを取得してクリア 90 (new DateTime('now', new DateTimeZone('Asia/Tokyo')))->format('Y-m-d H:i:s'), 91 ]); 92 93 $msgs[] = ['green', '投稿しました']; 94 95 } catch (RuntimeException $e) { 96 97 while (ob_get_level()) { 98 ob_end_clean(); // バッファをクリア 99 } 100 http_response_code($e instanceof PDOException ? 500 : $e->getCode()); 101 $msgs[] = ['red', $e->getMessage()]; 102 103 } 104 105 } 106 107 // 一覧取得 108 $rows = $pdo->query('SELECT id,user_name,word,img_name,type,thumb_data,date FROM contributions ORDER BY date DESC')->fetchAll(); 109 110} catch (PDOException $e) { 111 112 http_response_code(500); 113 $msgs[] = ['red', $e->getMessage()]; 114 115} 116 117?> 118 119<!DOCTYPE html> 120<html xmlns="http://www.w3.org/1999/xhtml"> 121 <head> 122 <title>掲示板</title> 123 <style> 124 <![CDATA[ 125 fieldset { margin: 10px; } 126 legend { font-size: 12pt; } 127 img { 128 border: none; 129 float: left; 130 } 131 ]]> 132 </style> 133 </head> 134 135 <body> 136 <form enctype="multipart/form-data" method="post" action=""> 137 <fieldset> 138 <input type="text" name="user_name" placeholder="名前を入力" /><br /> 139 <input type="text" name="word" placeholder="言葉を入力" /> 140 141 <legend>書き込みフォーム</legend> 142 <input type="file" name="upfile" /><br /> 143 <input type="submit" value="送信" /> 144 </fieldset> 145 </form> 146 147 <?php if (!empty($msgs)): ?> 148 <fieldset> 149 <legend>メッセージ</legend> 150 <?php foreach ($msgs as $msg): ?> 151 <ul> 152 <li style="color:<?=h($msg[0])?>;"><?=h($msg[1])?></li> 153 </ul> 154 <?php endforeach; ?> 155 </fieldset> 156 <?php endif; ?> 157 158 <?php if (!empty($rows)): ?> 159 <fieldset> 160 <legend>書き込み一覧</legend> 161 <?php foreach ($rows as $i => $row): ?> 162 <?php if ($i): ?> 163 <hr /> 164 <?php endif; ?> 165 <p> 166 番号: <?=h($row['id'])?> 167 名前: <?=h($row['user_name'])?> 168 日付: <?=h($row['date'])?> <br /> 169 <?=h($row['word'])?> <br /> 170 <?= 171 sprintf( 172 '<a href="?id=%d"><img src="data:%s;base64,%s" alt="%s" /></a>', 173 $row['id'], 174 image_type_to_mime_type($row['type']), 175 base64_encode($row['thumb_data']), 176 h($row['img_name']) 177 ) 178 ?> 179 <br clear="all" /> 180 </p> 181 <?php endforeach; ?> 182 </fieldset> 183 <?php endif; ?> 184 </body> 185</html>

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

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

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

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

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

m.ts10806

2018/10/01 06:22

そのコアサーバーへping投げて返ってきますか?また、アプリケーションはどこに載せて動かすのでしょうか?
guest

回答2

0

ベストアンサー

推測ですが、

プログラム内で使用しているDBを「ローカルではなく」、「コアサーバー」というレンタルサーバー上のDBに「繋げて」実行してください。

という指示だと思います。

確認が必要なのは、プログラムの実行そのものはローカルで良いのか、それとも「コアサーバー」に移設するのかどうかです。

いずれにしても、プログラム上のDB接続のところを与えられた情報に従い変更する必要があります。

PHP

1// データベースに接続 2$pdo = new PDO( 3 'mysql:host=localhost;dbname=board;charset=UTF8;', 4 'root', 5 '', 67

ただ、DBだけを外部接続ということになると、
サーバー側で外部からの接続を許可している必要があるので注意してください。
テーブル自体がサーバー側に作成されていないのであればphpMyAdminで作成してください。

投稿2018/10/01 03:01

taka-saan

総合スコア665

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

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

0

以下の部分を書き換えてあげれば上手くいきそうな気がします。

PHP

1 // データベースに接続 2 $pdo = new PDO( 3 'mysql:host=localhost;dbname=board;charset=UTF8;', 4 'root', 5 '', 6 78 9 // データベースに接続 10 $pdo = new PDO( 11 'mysql:host=ホスト名;dbname=DB名;charset=UTF8;', 12 'DBユーザー名', 13 'DBパスワード',

PHPでデータベースに接続するときのまとめ

投稿2018/10/01 02:50

madoka9393

総合スコア992

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問