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

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

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

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

Q&A

解決済

1回答

3629閲覧

PHPからmySQLのデータベースを参照できない

sug1t0m0

総合スコア40

MySQL

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

0グッド

0クリップ

投稿2016/01/10 06:08

WebサーバにインストールしたmySQLの動作確認をするために、mySQLを使った簡単な.phpファイルを作成しました。作成した.phpファイルをwebサーバにアップロードして、ブラウザからアクセスしたところ下記のようなエラーメッセージが表示されてしまいました。もうお手上げです。助けてください。

<br /> <b>Warning</b>: mysql_connect(): No such file or directory in <b>.phpファイルの場所</b> on line <b>3</b><br /> <br /> <b>Warning</b>: mysql_select_db(): No such file or directory in <b>.phpファイルの場所</b> on line <b>4</b><br /> <br /> <b>Warning</b>: mysql_select_db(): A link to the server could not be established in <b>.phpファイルの場所</b> on line <b>4</b><br /> <br /> <b>Warning</b>: mysql_query(): No such file or directory in <b>.phpファイルの場所</b> on line <b>6</b><br /> <br /> <b>Warning</b>: mysql_query(): A link to the server could not be established in <b>.phpファイルの場所</b> on line <b>6</b><br /> <br /> <b>Warning</b>: mysql_fetch_array() expects parameter 1 to be resource, boolean given in <b>.phpファイルの場所</b> on line <b>7</b><br /> <br /> <b>Warning</b>: mysql_close() expects parameter 1 to be resource, boolean given in <b>.phpファイルの場所</b> on line <b>12</b><br />

使用しているWebサーバはOS X Serverです。「PHP+mySQLの環境」を参考にmySQLのデータベースを作成しました。.phpのソースコードは下記の通りです。

<?php header("Content-Type: text/plain"); $db = mysql_connect("localhost", "name", "pass"); mysql_select_db("test"); $sql = "SELECT * FROM test"; $stm = mysql_query($sql); while( $rec = mysql_fetch_array($stm) ) { $id = (string)$rec["id"]; $name = $rec["name"]; print("$id:$name\n"); } mysql_close($db); ?>

一応、データベースが存在することを下記のように確認しました。

$ mysql.server start Starting MySQL .. SUCCESS! $ mysql -u name -p Enter password: pass mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | test | +--------------------+ 2 rows in set (0.02 sec) mysql>

mySQLのデータベースを参照しない.phpファイルを使用した場合はエラーは起こりませんでした。

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

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

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

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

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

guest

回答1

0

ベストアンサー

SQL

1SHOW VARIABLES like 'socket'

で、socket の場所を確認します。

bash

1php -i | grep sock

これで、PHP設定上のソケットの位置を確認します。

上記のソケットの設定を mysql側の値に合わせてください。

投稿2016/01/10 06:31

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sug1t0m0

2016/01/10 06:56

ご指摘ありがとうございます。 ``` SHOW VARIABLES like 'socket'; ``` の結果は ``` +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | socket | /tmp/mysql.sock | +---------------+-----------------+ 1 row in set (0.12 sec) ``` となり ``` php -i | grep sock ``` の結果は ``` PHP: parse error in /etc/php.ini on line 51 mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock mysqli.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock pdo_mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock sockets default_socket_timeout => 60 => 60 ``` となり、mySQLのsocketの場所とPHPで設定されたsocketの場所が違うことが確認できました。PHP設定上のソケットの場所を設定するにはどのようにすればいいのでしょうか?
退会済みユーザー

退会済みユーザー

2016/01/10 06:57

/etc/php.ini をエディタで編集してください。
sug1t0m0

2016/01/10 07:13

返信ありがとうございます。 sudo vi /etc/php.ini コマンドで pdo_mysql.default_socket = /tmp/mysql.sock mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock としてから、.phpファイルにアクセスしたのですがエラーが消えないんです.設定方法が違うのでしょうか?
退会済みユーザー

退会済みユーザー

2016/01/10 07:50 編集

httpd を再起動しましたか? もしくは、コマンドラインで動くPHP とことなる PHPが他に動いているとか。
sug1t0m0

2016/01/10 08:18

返信ありがとうございます。 httpd は再起動しましたが、 php -i | grep sock の結果は PHP: parse error in /etc/php.ini on line 51 mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock mysqli.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock pdo_mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock sockets default_socket_timeout => 60 => 60 のままです。 which php コマンドの結果は /usr/bin/php となりました。PHPが他に動いているかを確認する方法はあるのでしょうか?
退会済みユーザー

退会済みユーザー

2016/01/10 08:21

phpinfo() で確認したら? あと、PHP: parse error in /etc/php.ini on line 51 直す。
sug1t0m0

2016/01/10 08:58

PHP: parse error in /etc/php.ini on line 51 のエラーを直したら解決しました。初歩的な質問に付き合っていただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問