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

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

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

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

SQL

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

PHP

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

1回答

1920閲覧

php×MySQL テーブルを配列としてブラウザに表示させたいが、Array()の中身が空になる

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

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

SQL

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

PHP

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

0クリップ

投稿2021/06/08 08:14

前に質問した内容(これの続きを作業中につまづきました):https://teratail.com/questions/342646

前提・実現したいこと

PHPでCMSを作っています。phpMyAdminでテーブルを作成し、それをphpファイルで読み込んで、SELECT * で表を取得し、ブラウザに配列として表示したいです。

発生している問題

fetchAllで実行し、print_rでブラウザに表示させようとしても、添付画像のように、Array()となり配列の中身が表示されない

【ブラウザでの表示】
イメージ説明

該当のソースコード

php

1●index.php● 2<?php 3 4include_once('includes/connection.php'); 5include_once('includes/article.php'); 6 7$article = new Article; 8$articles = $article->fetch_all(); 9 10print_r($articles); 11 12?> 13 14<html> 15 <head> 16 <title>CMS</title> 17 <link rel="stylesheet" href="assets/style.css" /> 18 </head> 19 20 <body> 21 <div class="container"> 22 <a href="index.php" id="logo">CMS</a> 23 24 <ol> 25 <?php foreach ($articles as $article) { ?> 26 <li> 27 <a href="article.php?id=<?php echo $article['article_id']; ?>"> 28 <?php echo $article['article_title']; ?> 29 </a> 30 31 - <small> 32 posted <?php echo data('l js' , $article['article_timestamp']); ?> 33 </small> 34 35 </li> 36 <?php } ?> 37 </ol> 38 </div> 39 </body> 40</html>

php

1●article.php● 2 3<?php 4 5class Article { 6 public function fetch_all() { 7 global $pdo; 8 9 $query = $pdo->prepare("SELECT * FROM articles"); 10 $query->execute(); 11 12 return $query->fetchAll(); 13 14 } 15} 16 17 18?>

php

1●connection.php● 2 3<?php 4 5try { 6 $pdo = new PDO('mysql:host=mysql***.phy.lolipop.lan', '******', '********'); 7} catch (PDOException $e) { 8 exit('Database error.'); 9} 10 11?>

試したこと

・phpMyAdminのテーブルを削除し再度作り直したが変わらず

補足情報(FW/ツールのバージョンなど)

・ロリポップのレンタルサーバーを使っています
・MySQLのテーブルの画像も載せておきます
イメージ説明

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

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

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

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

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

FKM

2021/06/08 09:29

var_dump($pdo)で何が表示されますか?
guest

回答1

0

接続は一度確立してしまえばサーバーがなにかない限りそうそうエラーにはならないのでSQL実行時こそエラーハンドリング必要に思います。
接続時にオプションを設定されていない今だと何かあってもエラー出力はされないと思います。
参考:PHPでデータベースに接続するときのまとめ

例外もgetMessage()すらせずに握りつぶすのもよろしくありません。
例えば下記

php

1} catch (PDOException $e) { 2 exit('Database error.'); 3}

$eをvar_dump()しておけば色々見れます。

投稿2021/06/08 08:34

m.ts10806

総合スコア80850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問