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

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

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

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

PHP

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

Q&A

解決済

3回答

1049閲覧

PHPでMysqlに接続してデータベースの中に有るテーブルを選択してテーブルの内容表示がしたい。

duli3041

総合スコア2

MySQL

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

PHP

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

0グッド

0クリップ

投稿2021/08/26 04:37

編集2021/08/26 05:03

前提・実現したいこと

PHPでMysqlに接続してデータベースの中に有るテーブルを選択してテーブルの内容表示がしたい。
MySQLコマンドを叩くと表示される内容です。
例)MySQLコマンド
mysql> select * from ur_uri_msi;
+----+-------+-----------+------------+------+
| id | scode | uri_suryo | upymd | symd |
+----+-------+-----------+------------+------+
| 1 | 1001 | 99 | 2021-08-12 | NULL |
| 2 | 1001 | 99 | 2021-08-12 | NULL |
| 3 | 1005 | 100 | 2021-08-08 | NULL |
+----+-------+-----------+------------+------+
「select * from xxxxx;」をPHPでSELECT文を実行。尚、xxxxのテーブル名称は一つ前PHPで取得し
て取込まで完成しています。

発生している問題・エラーメッセージ

エラーは有りませんが、関数?文法や手法を教えてください。

該当のソースコード

html、php言語名 ソースコード //■データベース接続 $servername = "localhost"; //localhost $username = "userid"; //ユーザid $password = "passwordid"; //passwordid $database = "dbname"; //データベース名 //■ Create connection $sql = new mysqli($servername, $username, $password, $database); //■ 接続状況をチェックします if (mysqli_connect_errno()) { die("データベースに接続できません(HY000/2002はipかホスト名エラー、HY000/1045:ユーザ名かパスワードエラー):" . mysqli_connect_error() . "\n"); } else { // echo "データベースの接続に成功しました。\n"; // echo "<br>"; echo "データベース接続:" ; $today = date("Y/m/d H:i:s"); print_r($today); echo "<br>"; } echo "<br>"; //改行 //select文、テーブルidは事前に取得済み $sqlmsi = "select * from ".$dbtable.";"; //SQL文を実行し変数に格納 $stmt = $sql->query($sqlmsi); // foreach文で配列の中身を一行ずつ出力表示 foreach ($stmt as $row) { // データベースのフィールド名で出力 echo $row['id'].'|'.$row['scode'].'|'; //<-----ここが質問箇所。カラム名を指定しないで表示したい。 echo '<br>'; }

試したこと

ここに問題に対して試したことを記載してください。

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

ここにより詳細な情報を記載してください。
お手数ですが、よろしくお願いします。
何となく...先にカラム(フィルド名)を取得して修飾する様な作りになりますか? もし、そーでしたらお手数ですが
そちらの手法、サンプルなど教えて頂きたく併せてよろしくお願い致します。

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

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

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

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

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

m.ts10806

2021/08/26 04:43 編集

コードはマークダウンのcode機能を利用してご提示ください。 ただ、なぜそうしたいのでしょう。 実際に全てのカラムを定義順に表示することってないと思います。 任意の場所に任意のカラムの情報を表示することになるので、カラム番号なり名称が分かってないといけないでしょうし、select *で取得すること自体多くないです。
duli3041

2021/08/26 04:49

お世話になります。 1.テンプレートに沿って記載しましたが...不要箇所をはずしたのが良くなかったですか? 2.テーブルの中身は当然構築する段階で仕様設計します。Utility的にしたかった為です。  mYsqlコマンドで出来るので、web上でUtilityが有るとinsertやupdateの確認を速やかに出来る為です。
m.ts10806

2021/08/26 04:52

質問は編集できます。 1。テンプレートにこういう箇所があったはずです ```言語名 ここにコード ``` マークダウンについてはヘルプ読んでください。 2。こちらの伝え方が悪かったのかもしれませんが、仰っていることと私の指摘との関連性が不明です。
guest

回答3

0

用途が不明ですが、こういうことですかね。

php

1echo implode('|',$row); 2

たぶんレイアウトも何も無く表示だけなんでしょうか(brあるからブラウザからの実行を前提なんだろうけど)

投稿2021/08/26 04:46

m.ts10806

総合スコア80875

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

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

0

自己解決

有難うございます。

php

1$sqlmsi = "select * from ".$dbtable.";"; 2echo "|".$sqlmsi."|"; 3echo "<br>"; 4//SQL文を実行するコードを、変数に格納 5$stmt = $sql->query($sqlmsi); 6// foreach文で配列の中身を一行ずつ出力 7foreach ($stmt as $row) { 8// データベースのフィールド名で出力 9echo implode('|',$row); 10echo '<br>'; 11} 12echo "---------------------------------------"; 13echo "<br>";

これでテーブルの更新状態を確認出来ます。デバック用として。
もちろん正規システム構築は仕様設計に併せテーブルitemを指定して作成します。
有難うございました。

投稿2021/08/26 05:11

duli3041

総合スコア2

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

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

0

fetch_assoc()でデータ抽出すれば、キー名が付加した状態で
データが得られるのでそれを利用すればいいですが
そもそもカラム名がわからないようなケースはテーブル名もわからない
=参照できるような環境にないはずです。

「select *」はデバッグ処理での活用とし、本番環境では
必要なカラム名を列記すべきです

投稿2021/08/26 04:49

yambejp

総合スコア116439

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問