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

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

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

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

PHP

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

Q&A

解決済

4回答

1284閲覧

web上にmysqlを利用して現在時刻を表示させたい。(php、mysql、javascrptでの時間表示を行っている。)

hakusa.ppl

総合スコア21

MySQL

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

PHP

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

0グッド

0クリップ

投稿2019/07/19 01:44

編集2019/07/19 02:09

最終目標

mysqlを使用して自身のwebサイトに現在時刻を表示させたいです。

行ったこと

phpでのmysql接続確認

仮説

<?php define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASSWORD', '******'); define('DB_NAME', 'shop'); // エラー表示設定:通知系以外全て表示 error_reporting(E_ALL & ~E_NOTICE); try { $dbh = new PDO('mysql:'.DB_NAME.';'.DB_HOST, DB_USER, DB_PASSWORD); print('接続しました。'); } select curtime()を catch(PDOException $e) print('ERROR:'.$e->getMessage()); exit; } ?>

にselect curtime()をどこかに入れ、時間を表示させる?

その場合データベースネームは?

開発環境

仮想環境(バーチャルボックス上のcentos7.6)
php ver7.2.20
mysql ver 8.0.16
ホスト Windows10

追加 (作業中のもの)

php、mysql、javascrptでの時間表示を行っている。

何卒よろしくお願いいたします。

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

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

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

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

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

yoorwm

2019/07/19 01:51

質問されている文章からすると色々と勘違いしていると思われるので、ウェブサーバーでhello worldを表示する辺りから勉強しなおした方が良いのではないでしょうか?
Orlofsky

2019/07/19 01:56

英字を全角文字で書くのは止めては?全角と半角の区別ができないと困りますよ。
hakusa.ppl

2019/07/19 01:57

大変申し訳ございません お二方とも丁寧にありがとうございます。
m.ts10806

2019/07/19 01:58

>英字を全角文字で書くのは止めては? これは私も思います。
Orlofsky

2019/07/19 02:07

質問を修正しては?
hakusa.ppl

2019/07/19 02:09

ありがとうございます。
guest

回答4

0

select curtime()をどこかに入れ、時間を表示させる?

はい、DB接続ができたのであればクエリも投げられるはずです。

その場合データベースネームは?

テーブルを引かないので不要です。dbname=全体を省略してください。


いろいろ突っ込みどころが多すぎるのでコメントします。

  • そもそも論として、DBサーバから引いた時刻をユーザーに表示する必然性はどこにあるのでしょうか。通信で遅延したりするだけで正確な時間にはならないです。
  • データベースに接続してクエリを投げるのは基本中の基本です。そこまで他人に調べてもらわないと書けないレベルであれば、誰かに習うことをおすすめします。

投稿2019/07/19 01:55

maisumakun

総合スコア145184

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

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

hakusa.ppl

2019/07/19 02:01

ご丁寧にありがとうございます。
guest

0

ベストアンサー

下記の書き方で現在時刻を取得できると思います。

php

1<?php 2 3 try { 4 $dbh = new PDO('mysql:'.DB_NAME.';'.DB_HOST, DB_USER, DB_PASSWORD); 5 $stmt = $pdh->query("select curtime();"); 6 $result = $stmt->fetch(); // $result[0]で取得可能 7 }

下記の書き方だとPHPで現在時刻を取得できます。

php

1<?php 2echo date("H:i:s");

また、Web上に表示とのことなのでJSを使っても良いかと思います。

html

1<script> 2var date = new Date(); 3 4var hour = date.getHours(); 5var minute = date.getMinutes(); 6var second = date.getSeconds(); 7 8document.write(hour + ":" + minute + ":" + second); 9</script>

投稿2019/07/19 01:57

KaiShoya

総合スコア551

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

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

hakusa.ppl

2019/07/19 02:00

ご丁寧にありがとうございます。
guest

0

SQL

1select curtime() as d1,curdate() as d2,now() as d3;

mysqlサーバーの現日時を取りたいのですか?
PHPでアクセスしているならPHPの日付関数で取ればいいので
あまり意味がないですよ

PHP

1print date('Y-m-d H:i:s');

投稿2019/07/19 01:55

yambejp

総合スコア114843

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

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

hakusa.ppl

2019/07/19 02:01

ありがとうございます。
guest

0

その場合データベースネームは?

不要です。テーブルも不要です。

リファレンスを見ると分かりますが
MySQL 5.6 リファレンスマニュアル / ... / SELECT 構文

SELECT

[ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [FROM table_references [PARTITION partition_list] [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] [INTO OUTFILE 'file_name' [CHARACTER SET charset_name] export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] [FOR UPDATE | LOCK IN SHARE MODE]]

必須なのは「SELECT」と「select_expr」だけです。 
select_exprは「取得するカラム」ですが、別にカラムである必要はなく、計算結果や固定値でもいいわけです。

select 1+1; select 'テスト';

ただできれば、プログラム側で扱いやすいようにエイリアスは付けたほうが良いですね。

select 1+1 as add; select 'テスト' as word;

蛇足:
でも時間だけならPHPだけでいいのでは・・・

php

1<?php 2echo date("H:i:s");

JavaScriptでもできますし・・

投稿2019/07/19 01:50

編集2019/07/19 01:54
m.ts10806

総合スコア80850

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

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

hakusa.ppl

2019/07/19 01:54

ありがとうございます、php、mysql、javascrptでの時間表示を行ってまして。 丁寧にありがとうございます。
m.ts10806

2019/07/19 01:55

大目的や前提は書かれるべきかと思います。
hakusa.ppl

2019/07/19 01:59

大変申し訳ございません つたない質問に真摯にお答えいただきありがとうございます。
m.ts10806

2019/07/19 01:59

質問本文に追記してください(質問は編集できます)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問