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

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

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

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

PHP

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

Q&A

解決済

1回答

547閲覧

phpでデータベースにアクセスしたい

mkon1

総合スコア7

MySQL

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

PDO

PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

PHP

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

0グッド

1クリップ

投稿2023/02/23 07:21

編集2023/02/23 09:34

phpでデータベースにアクセスしたいです。

難しいことはしていないと思うのですが、mysqliやpdoを使っても
下記サイトを参考にHTMLを書いてもファイルやディレクトリがないと表示されます。
ホームページ上の動的な部分で操作しようとすると、JavaScriptでしょうか。
LaravelはWebアプリフレームワークなのに、JavaScriptも必要なのか?等
Laravelで出来ることがわかっていないところも多く、トンチンカンなこと書いてるかもしれません。
お手数おかけします。

  • 環境:mac m1

<環境構築>
DockerでLaravel-projectを作成しました。
Laravel-project内のresousesのBladeでphpを書いてWeb上でデータベースにアクセス出来る事を
「接続成功」や「接続失敗」で接続を自分で確認しようとしました。
mysqliやpdo関数を試していますが、繋がりません。

環境はLaravelですが、Blade内にHTMLやPHPで記載して接続確認できるらしいことから
PHPの質問として書きました。ややこしくてすみません。
データベース自体は、先日回答頂いた内容を参考にしてSequel Aceで中身を見ることができますが
HTML内のphpで接続確認ができません。
いずれは、ホームページ上からデータベースの追加や修正できるように
入力フォームを作ろうと思っていますが、初めに”接続成功”ぐらいは表示したいと思いました。

http://localhostに繋げると、”そのようなファイル、又はディレクトリはありません”と
表示されます。

以下手順で、Larave-projectを立ち上げました。
・curl -s "https://laravel.build/example-app" | bash   //Laravel-project作成
・./vendor/bin/sail up                 //コンテナ構築
http://localhost                   //Webアプリを表示(Bladeの内容)

<<.envファイルには、下記のようにDBの情報が記載されています。>>
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=example_app
DB_USERNAME=sail
DB_PASSWORD=password

<<mysqli関数の使用で参考にしたサイト>>
https://progzakki.sanachan.com/program-lang/php/connect-mysql/

php

1<?php 2 3$dbh = mysqli_connect('localhost', 'sail', 'password', 'example_app'); 4// MySQL への接続結果を確認 5if ($dbh == false) { 6 die("MySQLに接続できません:" . mysqli_connect_error() . "\n"); 7} else { 8 echo "MySQLへ接続成功!\n" 9} 10 11?>

<<PDO関数の使用で参考にしたサイト>>
https://sugublog.org/php-base-db-control/

php

1<?php 2try{ 3 $DB_DATABASE = 'example_app'; 4 $DB_USERNAME = 'sail'; 5 $DB_PASSWORD = 'password'; 6 $DB_OPTION = 'charset=utf8'; 7 $PDO_DSN = "mysql:host=localhost;dbname=" . $DB_DATABASE . ";" . $DB_OPTION; 8 $db = new PDO($PDO_DSN, $DB_USERNAME, $DB_PASSWORD, 9 [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION 10 ]); 11 echo 'DB接続成功'; 12 } catch(PDOException $e){ 13 echo 'DB接続失敗'; 14} 15?>

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

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

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

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

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

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

ockeghem

2023/02/23 07:45

以下を追記してください ・PHPやMySQLをインストールした方法 ・エラーメッセージ(コピペしてください) ・現象が再現する最小限のソースコード
m.ts10806

2023/02/23 08:12

「phpでデータベースにアクセスしたい」だけならHTML無関係です(PHPはブラウザからの実行に限らないから) そもそも正しく環境構築されているのか、どのように実行しているのか そのあたりも含めて記載してください。
guest

回答1

0

ベストアンサー

そもそもの話、Laravel 入れてるのに、mysqli とか PDO で接続するなどというアホなこと誰もしませんよ。

投稿2023/02/23 11:08

phper.k

総合スコア3923

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

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

mkon1

2023/02/23 13:49 編集

ご回答ありがとうございます。 わざわざ新しいフレームワークのLaravelを入れているのに、昔の関数で接続確認なんかしないということでしょうか。そうですね。体系的な整理が出来ていないという整理ができました。お手数おかけしました。 ありがとうございました。 的外れかもしれませんが、Bladeに色々書いたものをレンタルサーバーに載せてみようかと思います。 ちゃんと基礎から勉強されている方は素晴らしいなと思いました。勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問