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

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

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

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

14199閲覧

PHPからXAMPPのMySQLへの接続ができません

risaito74

総合スコア44

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

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

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2017/03/09 07:49

Windows10のXAMPPにあるphpMyAdminでデータベース「test」テーブル「test_chara」を作り、PHPからアクセスするテストプログラムを作っています。

paizaラーニングWebアプリ開発入門 PHP+MySQL編1: 掲示板を作ろう

上記のコードを参考に、testへ接続し、test_charaテーブルのデータを取得するプログラムを書きましたが、上手く動きません。

そこで、接続だけのテストにコードを最小化してみましたが、この段階で動かず、接続が上手くいっていない状態だと認識しています。

PHP

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>test1.php</title> 6</head> 7<body> 8 <h1>testテーブル</h1> 9 <?php 10 try{ 11 //http://localhost:81/work/db_test/test1.php 12 // データベースへ接続 13 $pdo = new PDO("mysql:host=127.0.0.1;port=81;dbname=test;charset=utf8", "root", ""); 14 }catch (PDOException $e){ 15 print('Error:'.$e->getMessage()); 16 die(); 17 } 18 19 echo "テスト<br>"; 20 21 ?> 22</body> 23</html>

(※hostは127.0.0.1とlocalhostの両方で試してみましたが、どちらもダメでした)

上記のtest1.phpをブラウザから実行すると、アクセス中のアイコン表示?(ぐるぐる回るアニメーション)が数分続いた後、以下のような表記が出てきました。

testテーブル

Warning: PDO::__construct(): MySQL server has gone away in C:\xampp\htdocs\work\db_test\test1.php on line 13

Warning: PDO::__construct(): Error while reading greeting packet. PID=8272 in C:\xampp\htdocs\work\db_test\test1.php on line 13

Warning: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2006] MySQL server has gone away' in C:\xampp\htdocs\work\db_test\test1.php:13 Stack trace: #0 C:\xampp\htdocs\work\db_test\test1.php(13): PDO->__construct('mysql:host=127....', 'root', '') #1 {main} thrown in C:\xampp\htdocs\work\db_test\test1.php on line 13

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\work\db_test\test1.php on line 12

phpMyAdminのテーブルは以下の通りです。
phpMyAdmin

また、必要な情報かどうかわかりませんが、XAMPPコントロールパネルの画面も添付します。
XAMPP

DB初心者でpaizaで学習した後、PHPからのDBアクセスに初挑戦しています。基礎的な部分で何か間違い、勘違いをしているのか、見当がつかない状態ですので「ここが怪しいのでは?」など、ご助言をいただければと思います。

よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

php

1 $pdo = new PDO("mysql:host=127.0.0.1;port=81;dbname=test;charset=utf8", "root", "");

portは3306です。

投稿2017/03/09 07:57

shi_ue

総合スコア4437

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

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

risaito74

2017/03/09 08:08

ありがとうございます!基本的な勘違いでした。 ご指摘の通りMySQLの3306でアクセスできました。 (そもそもportの指定をしなくても大丈夫でした) Apacheのportを81に変えていたので、そちらを指定するものと勘違いしていました。
shi_ue

2017/03/09 08:10

3306はmysqlのデフォルトポートなので、通常指定しないと3306になります。 頑張ってください!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問