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

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

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

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

PHP

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

Q&A

解決済

1回答

2996閲覧

PHP MySQL の連携

yamaji

総合スコア22

MySQL

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

PHP

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

0グッド

0クリップ

投稿2017/08/15 02:34

編集2017/08/15 03:05

PHPのWEBサイトで名前、年齢を登録ボタンを押すとMYSQLのテーブルに格納させる設定方法を教えて下さい。(レンタルサーバで各ソフトはインストールしています。)
PHPとMYSQLを連携させる方法

ネットでMYSQLと調べ手順通り作業しました。
設計 http://www.go-next.co.jp/blog/web/php/15962/

登録 http://www.go-next.co.jp/blog/web/php/20735/

MYSQLでSQL文を使用してデータの追加、削除はできます。

<?php define('DB_DATABASE', 'dotinstall_db'); define('DB_USERNAME', 'dbuser'); define('DB_PASSWORD', 'g6fd7Xx'); define('PDO_DSN', 'mysql:dbhost=localhost;dbname=' . DB_DATABASE); try { // connect $db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // update $stmt = $db->prepare("update users set score = :score where name = :name"); $stmt->execute([ ':score' => 100, ':name' => 'taguchi' ]); echo 'row updated: ' . $stmt->rowCount(); // delete $stmt = $db->prepare("delete from users where name = :name"); $stmt->execute([ ':name' => 'dotinstall' ]); echo 'row deleted: ' . $stmt->rowCount(); } catch (PDOException $e) { echo $e->getMessage(); exit; } 下記のPHP.TXTで調べた内容を追記しときます。 問)HTMLとPHPを使い登録ボタンを作成し編集・削除を行いMYSQLのテーブルに格納したいです・ (HTMLで下記の表は作成できます。) 以上、拙いですが、宜しくお願い致します。

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

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

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

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

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

yambejp

2017/08/15 02:57

PHPのソースがダブっています。またソースのタグで囲って下さい。「下記のPHP.TXT」や「ファイル1」がわかりません
hotta

2017/08/15 07:42

ソース全体を範囲指定して<code>をクリックしてください。
guest

回答1

0

ベストアンサー

とりあえず、PHPでデータを登録・その結果を取得してテーブルに表示するサンプルを提示してみます。

PHP

1<?php 2define('DB_DATABASE', 'test'); 3define('DB_USERNAME', 'test'); 4define('DB_PASSWORD', 'test'); 5define('PDO_DSN', 'mysql:dbhost=localhost;charset=utf8mb4;dbname=' . DB_DATABASE); 6 7try { 8 // connect 9 $db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD); 10 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 11 // update 12 $stmt = $db->prepare("update users set score = :score where name = :name"); 13 $stmt->execute([ 14 ':score' => 100, 15 ':name' => 'taguchi' 16 ]); 17 echo 'row updated: ' . $stmt->rowCount(); 18 19 // delete 20 $stmt = $db->prepare("delete from users where name = :name"); 21 $stmt->execute([ 22 ':name' => 'dotinstall' 23 ]); 24 echo 'row deleted: ' . $stmt->rowCount(); 25 for($i=0;$i<10;$i++){ 26 $stmt = $db->prepare('INSERT INTO `users` (`name`, `score`) VALUES (:name,:score)'); 27 $stmt->execute([ 28 ':name' => 'test' . $i, 29 ':score' => 100 + $i 30 ]); 31 } 32 $data = $db->query('SELECT * FROM users'); 33} catch (PDOException $e) { 34 echo $e->getMessage(); 35 exit; 36} 37?> 38<!DOCTYPE HTML> 39<html> 40 <head></head> 41 <body> 42 <table> 43 <tr> 44 <th>name</th> 45 <th>score</th> 46 </tr> 47 <?php foreach ($data as $value) : ?> 48 <tr> 49 <td><?= $value['name']; ?></td> 50 <td><?= $value['score']; ?></td> 51 </tr> 52 <?php endforeach; ?> 53 </table> 54 </body> 55</html>

登録内容は、$_POST['name']等でパラメータを受け取り、それをキーにしてSQLを発行すれば良いのでは?

POSTデータの受け渡し方

遷移元

HTML

1<!DOCTYPE HTML> 2<html> 3 <head></head> 4 <body> 5 <form method="POST" action="遷移先.php"> 6 <input type="text" name="name"> 7 <input type="submit" name="doSomething" value="ボタン"> 8 </form> 9 </body> 10</html>

遷移先

PHP

1<?PHP 2 $test = $_POST["name"];//これで遷移元で指定されたテキストファイルのデータを取得できる 3?>

投稿2017/08/15 03:09

編集2017/08/16 05:37
motuo

総合スコア3027

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

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

yamaji

2017/08/16 04:21

ありがとうございます。$_POST['name']等でパラメータを受け取りにはどのようにすればよろしいでしょうか?宜しくお願いいたします。
motuo

2017/08/16 04:54

回答を追記しました。が、お願いがあります。 他の方の追記・修正依頼にもあります通り、ソースは```(バッククォート3つ)で囲って下さい。それだけで、質問文の見易さが全然、違います。後にこの質問を見る方がいるかもしれないので修正をお願いします。
退会済みユーザー

退会済みユーザー

2017/08/16 05:05

charset の指摘はしてあげてほしいです。 文字コードの指定無しで DB 使うのはナシかなぁと。
motuo

2017/08/16 05:38

そこまで見てませんでした… 回答を修正して、 define('PDO_DSN', 'mysql:dbhost=localhost;charset=utf8mb4;dbname=' . DB_DATABASE); にしました。charsetは質問者さんの環境に合わせて貰えばと思います。
yamaji

2017/08/16 13:10

ありがとう、ございます。これを元に作業させていただきます。 ためになる情報ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問