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

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

新規登録して質問してみよう
ただいま回答率
85.47%
さくらのクラウド

さくらのクラウドは、さくらインターネット株式会社が提供するIaaS型のクラウドサービス。仮想化技術による柔軟性のあるカスタマイズを始め、様々な高機能を備えています。

さくらのレンタルサーバ

さくらのレンタルサーバとは、格安サーバーで知られるさくらインターネット社の提供する共有レンタルサーバー。Webサイトの構築から簡単なプログラミングまで幅広く利用することができ、プランが多いことも特徴です。

さくらの専用サーバ

さくらの専用サーバは、サーバを1台占有して利用できるさくらインターネット社のサービス。高スペックサーバーを独占でき、自由にカスタマイズすることも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

0回答

622閲覧

レンタルサーバを使って、データベースに接続したい。

fff222

総合スコア0

さくらのクラウド

さくらのクラウドは、さくらインターネット株式会社が提供するIaaS型のクラウドサービス。仮想化技術による柔軟性のあるカスタマイズを始め、様々な高機能を備えています。

さくらのレンタルサーバ

さくらのレンタルサーバとは、格安サーバーで知られるさくらインターネット社の提供する共有レンタルサーバー。Webサイトの構築から簡単なプログラミングまで幅広く利用することができ、プランが多いことも特徴です。

さくらの専用サーバ

さくらの専用サーバは、サーバを1台占有して利用できるさくらインターネット社のサービス。高スペックサーバーを独占でき、自由にカスタマイズすることも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2022/01/02 23:31

【さくらのレンタルサーバ】のスタンダードプランを契約し、データベースを立ち上げました。

その後、Postmanを使い、PHP経由で、データの追加等を行いたいのですが、うまくいきません。
間違っている部分があれば教えていただきたいです。

Postmanには、以下のように表示されます。
また数字は、順を追うために追加しています。

1→2→3→<span class='error'>エラーがありました。</span><br>invalid data source name

↓Config.php

PHP

1<?php 2 3$host = "mysql*****.db.sakura.ne.jp"; 4$dbName = "データベース名"; 5$user = "ユーザー名"; 6$password = "パスワード"; 7$dsn = "mysql:host={$host};dbname={$dbName};charser=utf8"; 8 9?>

↓DbConnect.php

PHP

1<?php 2 3class DbConnect { 4 private $conn; 5 6 function __construct() { 7 } 8 9 function connect() { 10 echo "3→"; 11 require_once 'Config.php'; 12 13 try { 14 $this->conn = new PDO($dsn, $user, $password); 15 $this->conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 16 $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 17 echo "データベース{$dbName}に接続しました。"; 18 } catch (Exception $e) { 19 echo "<span class='error'>エラーがありました。</span><br>"; 20 echo $e->getMessage(); 21 exit(); 22 } 23 24 if (mysqli_connect_errno()) { 25 echo "Failed to connect to MySQLL: " . mysqli_connect_error(); 26 } 27 28 return $this->conn; 29 } 30} 31 32?>

↓DbOperation.php

PHP

1<?php 2 3class DbOperation { 4 private $conn; 5 6 function __construct() { 7 echo "2→"; 8 require_once dirname(__FILE__) . '/Config.php'; 9 require_once dirname(__FILE__) . '/DbConnect.php'; 10 $db = new DbConnect(); 11 $this->conn = $db->connect(); 12 echo "4→"; 13 } 14 15 public function createTeam($teamName, $memberCount) { 16 echo "5→"; 17 $stmt = $this->conn->prepare("INSERT INTO team(name, member) values(?, ?)"); 18 $stmt->bind_param("si", $teamName, $memberCount); 19 $result = $stmt->execute(); 20 $stmt->close(); 21 if ($result) { 22 return true; 23 } else { 24 return false; 25 } 26 } 27} 28 29?>

↓createTeam.php

PHP

1<?php 2 3$response = array(); 4 5if($_SERVER['REQUEST_METHOD']=='POST') { 6 echo "1→"; 7 8 $teamName = $_POST['name']; 9 $memberCount = $_POST['member']; 10 11 require_once 'DbOperation.php'; 12 13 $db = new DbOperation(); 14 15 if($db->createTeam($teamName,$memberCount)) { 16 $response['error']=false; 17 $response['message']='Team added successfully'; 18 } else { 19 $response['error']=true; 20 $response['message']='Could not add team'; 21 } 22 23} else { 24 $response['error']=true; 25 $response['message']='You are not authorized'; 26} 27 28echo json_encode($response); 29 30?>

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

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

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

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

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

m.ts10806

2022/01/03 00:15

「レンタルサーバ」であれば「クラウド」「専用サーバ」は無関係のプランと思います。
m.ts10806

2022/01/03 00:17 編集

あと「うまくいかない」などで他者に伝わる情報量はゼロなので 具体的に起きている現象を記載してください。 https://teratail.com/help/question-tips#questionTips3-4-1 現状だと「エラーの通りでしょうね」くらいしか言えないように思います。DSNがどのようになっているか分かりませんし。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問