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

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

ただいまの
回答率

91.36%

  • PHP

    15165questions

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

  • MySQL

    4382questions

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

  • MacOS(OSX)

    1360questions

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

  • phpMyAdmin

    482questions

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

  • MAMP

    148questions

    Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

PHPでMYSQLに接続できません。解決方法を教えてください。

解決済

回答 1

投稿 2017/11/24 23:01 ・編集 2017/11/24 23:02

  • 評価
  • クリップ 0
  • VIEW 71

syoma

score 7

MAMPのhtdocsでphpファイルの作成をし
mysql_connect関数を利用し、MYSQLへの接続を試みたのですがエラーが発生しました。
どのようにしたら、うまくMYSQLへの接続ができ、解決ができるでしょうか?

<?php
$d=mysql_connect("localhost","root","****")or die("接続失敗");
print "接続成功<BR>";

mysql_select_db("db",$d);
mysql_query("insert into tb values('xxxx7','付箋',175)");

mysql_close($d)or die("切断失敗");
print "接続成功";
?>
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /Applications/MAMP/htdocs/db_con.php:2 Stack trace: #0 {main} thrown in /Applications/MAMP/htdocs/db_con.php on line 2
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

mysql-* 関数は非推奨~最新版で削除された関数です
仮に動くとして辞めたほうがいいでしょう。
できればpdoを利用することをお勧めします

phpinfo()で稼働するサービスは確認することができます

投稿 2017/11/24 23:08

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/24 23:24 編集

    ご返答ありがとうございます。
    コメントを参考にさせていただき、試してみたのですが
    phpinfoの見方がわからなかったので、コードの変更だけしてみました。

    上記のPHPファイルのコードを

    <?php
    $d=pdo("localhost","root","****")or die("接続失敗");
    print "接続成功<BR>";

    のように変更して実行してみたのですが

    Fatal error: Uncaught Error: Call to undefined function pdo() in /Applications/MAMP/htdocs/db_con.php:2 Stack trace: #0 {main} thrown in /Applications/MAMP/htdocs/db_con.php on line 2

    というように、同じようなエラーが発生しました。
    もう少し具体的にわかりやすく教えていただくとありがたいのですが
    よかったらお願いできますでしょうか?

    キャンセル

  • 2017/11/24 23:38

    phpinfo()実行すると「PDO」セクションと「pdo_mysql」セクションが表示される
    ことを確認下さい。なければライブラリを追加してください
    詳細は http://jp2.php.net/manual/ja/book.pdo.php を参照下さい

    キャンセル

  • 2017/11/25 07:25

    セクションの確認ができました!
    PDO
    PDO support enabled
    PDO drivers mysql, sqlite, pgsql

    pdo_mysql
    PDO Driver for MySQL enabled
    Client API version mysqlnd 5.0.12-dev - 20150407 - $Id:b396954eeb2d1d9ed7902b8bae237b287f21ad9e $
    Directive Local Value Master Value
    pdo_mysql.default_socket /Applications/MAMP/tmp/mysql/mysql.sock /Applications/MAMP/tmp/mysql/mysql.sock

    キャンセル

  • 2017/11/25 08:02

    PDOの使用方法を確認しました。
    挑戦してみます

    <?php
    // 接続情報
    $servername = "localhost";
    $username = "root";
    $password = "root";
    $dbname = "lesson1";
    // インプット値
    $i_user = (string)filter_input(INPUT_POST, 'user');
    $i_pass = (string)filter_input(INPUT_POST, 'pass');

    try {
    // DB接続
    $pdo = new PDO("mysql:host=$servername;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    // SQL発行
    $stmt = $pdo->prepare("SELECT * FROM ow_login WHERE user = ? AND pass = ?");
    $stmt->bindValue(1, $i_user);
    $stmt->bindValue(2, $i_pass);
    $stmt->execute();
    // 結果の取得
    if($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['user'] . " is login.";
    }else{
    echo "no user or no password";
    }
    }
    catch(PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
    }
    // DB切断
    $pdo = null;
    ?>

    キャンセル

  • 2017/11/25 08:40 編集

    自己判断でコードの省略を行い、無事成功するコードを完成させました。

    ありがとうございます。

    <?php
    $host="localhost";
    $db="db";
    $user="root";
    $pass="****";
    $i_user = (string)filter_input(INPUT_POST, $user);
    $i_pass = (string)filter_input(INPUT_POST, $pass);

    $d=new pdo("mysql: host=$host; dbname=$db", $user, $pass)or die("接続失敗");
    $d -> setAttribute( PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);
    $d -> setAttribute( PDO :: ATTR_EMULATE_PREPARES, false);
    print "接続成功<BR>";

    $stmt = $d->prepare("insert into tb values('xxxx7','付箋',175)");
    $stmt->bindValue(1, $i_user);
    $stmt->bindValue(2, $i_pass);
    $stmt->execute();

    ?>

    これで、データベースへの接続とデータベースの操作が可能になりました。

    キャンセル

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

ただいまの回答率

91.36%

関連した質問

  • 解決済

    MAMPのMYSQLにNODEjsでコンタクトする方法を教えて下さい。

    前提・実現したいこと NODE.js初心者です。 MAMPのMYSQLにNODE.jsでアクセスしたいのですが、 上手く動きません。 /Applications/MAMP/tm

  • 解決済

    MACのターミナル

    MACのターミナルでパスを通すにはどうすればいいのでしょうか? MySqlに接続する際、もっと簡単にできませか? 例)$ cd /applications/MAMP/Libra

  • 解決済

    SmartyでローカルのDBへ接続する方法について(MAMP)

    SmartyでDBにアクセスして、会員登録やリスト引用などをしたいと思っております。 しかし、標題の件でつまづいております(かなり序盤ですが。。。)。 環境、状態は以下の通

  • 解決済

    MAMPの日時(タイムゾーン)の変更ができません...

    先日MAMPをインストールし、簡単な画面遷移やデータベースから値を取得などを行ったりしていたのですが、現在時刻を取得してみたところ日本時間ではないということに気がつきました。

  • 解決済

    mampを使ってphpからmysqlに接続する

    macにMAMPをインストールし、phpからmysqlへ接続しようとしています。 htmlに下記のコードを書いて表示した所、bodyの部分に何も入っていないページが表示されてしま

  • 解決済

    mysql pdo による接続について

    お世話になります。 現在MAMPの環境で、myslqにpdoによってデータを挿入しようとしているのですがうまくいきません。 ソースコード <?php      

  • 解決済

    PHP、MySQLを用いて画像付き掲示板を作成したい

    「やり方」もですが、「考え方」も分からなかったので、質問させていただきます。 やりたいこと ・画像付きの掲示板を作成したい ⇨ユーザー名、コメント、画像を登録されているも

  • 受付中

    配送リスト管理システのコード(php)

    現在配送システムの管理ページを政策しているのですが、エラーが出まくっていて先に進めません、、、以下エラー内容です。 Parse error: parse error, expe

同じタグがついた質問を見る

  • PHP

    15165questions

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

  • MySQL

    4382questions

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

  • MacOS(OSX)

    1360questions

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

  • phpMyAdmin

    482questions

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

  • MAMP

    148questions

    Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト