【さくらのレンタルサーバ】のスタンダードプランを契約し、データベースを立ち上げました。
その後、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?>
あなたの回答
tips
プレビュー