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

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

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

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

PHP

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

Q&A

解決済

1回答

1062閲覧

変数に代入された値をmysqlのテーブルにinsertしたい

begineer

総合スコア7

MySQL

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

PHP

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

0グッド

0クリップ

投稿2020/03/23 15:17

編集2020/03/23 15:20

やろうとしていること

index.htmlのフォームで入力された値を$Post_で受け取り、info.phpでテーブルにinsertしつつ、ブラウザに表示しようとしています。

問題点

エラーメッセージは出ていないようですが、$_POSTで受け取った値をmysqlのテーブルにinsertできません。
values('tarou', 202033, 'pass')のようにvaluesに直接値を記述した場合は、問題なくinsertされました。

php

1 // insert 2 $db->exec("insert into userinfo (name, birthday, password) values ('$name', '$birthday', '$password')"); 3 4 $name = $_POST['name']; 5 $birthday = $_POST['year']."-".$_POST['month']."-".$_POST['day']; 6 $password = $_POST['password'];

なお、ブラウザでは入力された値が表示されているため、少なくとも下記の部分では$_POST['']で値をちゃんと受け取れているようです。

何かお気づきの点や他の方法等がありましたら、教えていただけますでしょうか。

php

1//info.php 2<?php 3 print $_POST['name']; 4 print $_POST['year']; 5 print $_POST['month']; 6 print $_POST['day']; 7 print $_POST['password']; 8?>

各ファイルの内容

html

1//index.html 2 3 4<!DOCTYPE html> 5<html lang="ja"> 6<head> 7 <meta charset="utf-8"> 8 <title>入力フォーム</title> 9</head> 10<body> 11 12<form method="post" action="info.php"> 13 <p>氏名</p> 14 <input name="name" type="text"> 15 <p>生年月日</p> 16 <select name="year"> 17 <option value="">-</option> 18 <option value="1920">1920</option> 19 <option value="1921">1921</option> 20 <option value="1922">1922</option> 21 <option value="1923">1923</option> 22 <option value="1924">1924</option> 23 <option value="1925">1925</option> 24 <option value="1926">1926</option> 25 <option value="1927">1927</option> 26 <option value="1928">1928</option> 27 <option value="1929">1929</option> 28 <option value="1930">1930</option> 29 <option value="1931">1931</option> 30 <option value="1932">1932</option> 31 <option value="1933">1933</option> 32 <option value="1934">1934</option> 33 <option value="1935">1935</option> 34 <option value="1936">1936</option> 35 <option value="1937">1937</option> 36 <option value="1938">1938</option> 37 <option value="1939">1939</option> 38 <option value="1940">1940</option> 39 <option value="1941">1941</option> 40 <option value="1942">1942</option> 41 <option value="1943">1943</option> 42 <option value="1944">1944</option> 43 <option value="1945">1945</option> 44 <option value="1946">1946</option> 45 <option value="1947">1947</option> 46 <option value="1948">1948</option> 47 <option value="1949">1949</option> 48 <option value="1950">1950</option> 49 <option value="1951">1951</option> 50 <option value="1952">1952</option> 51 <option value="1953">1953</option> 52 <option value="1954">1954</option> 53 <option value="1955">1955</option> 54 <option value="1956">1956</option> 55 <option value="1957">1957</option> 56 <option value="1958">1958</option> 57 <option value="1959">1959</option> 58 <option value="1960">1960</option> 59 <option value="1961">1961</option> 60 <option value="1962">1962</option> 61 <option value="1963">1963</option> 62 <option value="1964">1964</option> 63 <option value="1965">1965</option> 64 <option value="1966">1966</option> 65 <option value="1967">1967</option> 66 <option value="1968">1968</option> 67 <option value="1969">1969</option> 68 <option value="1970">1970</option> 69 <option value="1971">1971</option> 70 <option value="1972">1972</option> 71 <option value="1973">1973</option> 72 <option value="1974">1974</option> 73 <option value="1975">1975</option> 74 <option value="1976">1976</option> 75 <option value="1977">1977</option> 76 <option value="1978">1978</option> 77 <option value="1979">1979</option> 78 <option value="1980">1980</option> 79 <option value="1981">1981</option> 80 <option value="1982">1982</option> 81 <option value="1983">1983</option> 82 <option value="1984">1984</option> 83 <option value="1985">1985</option> 84 <option value="1986">1986</option> 85 <option value="1987">1987</option> 86 <option value="1988">1988</option> 87 <option value="1989">1989</option> 88 <option value="1990">1990</option> 89 <option value="1991">1991</option> 90 <option value="1992">1992</option> 91 <option value="1993">1993</option> 92 <option value="1994">1994</option> 93 <option value="1995">1995</option> 94 <option value="1996">1996</option> 95 <option value="1997">1997</option> 96 <option value="1998">1998</option> 97 <option value="1999">1999</option> 98 <option value="2000">2000</option> 99 <option value="2001">2001</option> 100 <option value="2002">2002</option> 101 <option value="2003">2003</option> 102 <option value="2004">2004</option> 103 <option value="2005">2005</option> 104 <option value="2006">2006</option> 105 <option value="2007">2007</option> 106 <option value="2008">2008</option> 107 <option value="2009">2009</option> 108 <option value="2010">2010</option> 109 <option value="2011">2011</option> 110 <option value="2012">2012</option> 111 <option value="2013">2013</option> 112 <option value="2014">2014</option> 113 <option value="2015">2015</option> 114 <option value="2016">2016</option> 115 <option value="2017">2017</option> 116 <option value="2018">2018</option> 117 <option value="2019">2019</option> 118 <option value="2020">2020</option> 119 </select> 年 120 <select name="month"> 121 <option value="">-</option> 122 <option value="1">1</option> 123 <option value="2">2</option> 124 <option value="3">3</option> 125 <option value="4">4</option> 126 <option value="5">5</option> 127 <option value="6">6</option> 128 <option value="7">7</option> 129 <option value="8">8</option> 130 <option value="9">9</option> 131 <option value="10">10</option> 132 <option value="11">11</option> 133 <option value="12">12</option> 134 </select> 月 135 <select name="day"> 136 <option value="">-</option> 137 <option value="1">1</option> 138 <option value="2">2</option> 139 <option value="3">3</option> 140 <option value="4">4</option> 141 <option value="5">5</option> 142 <option value="6">6</option> 143 <option value="7">7</option> 144 <option value="8">8</option> 145 <option value="9">9</option> 146 <option value="10">10</option> 147 <option value="11">11</option> 148 <option value="12">12</option> 149 <option value="13">13</option> 150 <option value="14">14</option> 151 <option value="15">15</option> 152 <option value="16">16</option> 153 <option value="17">17</option> 154 <option value="18">18</option> 155 <option value="19">19</option> 156 <option value="20">20</option> 157 <option value="21">21</option> 158 <option value="22">22</option> 159 <option value="23">23</option> 160 <option value="24">24</option> 161 <option value="25">25</option> 162 <option value="26">26</option> 163 <option value="27">27</option> 164 <option value="28">28</option> 165 <option value="29">29</option> 166 <option value="30">30</option> 167 <option value="31">31</option> 168 </select> 日 169 <p>パスワード</p> 170 <input name="password" type="password"> 171 172 <br> 173 174 <input type="submit" value="登録"> 175</form> 176</body> 177</html>

php

1//info.php 2 3<?php 4 5define('DB_DATABASE', '****'); 6define('DB_USERNAME', '****'); 7define('DB_PASSWORD', '****'); 8define('PDO_DSN', 'mysql:host=****;dbname=' . DB_DATABASE); 9 10try { 11 // connect 12 $db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD); 13 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 14 15 // insert 16 $db->exec("insert into userinfo (name, birthday, password) values ('$name', '$birthday', '$password')"); 17 18 $name = $_POST['name']; 19 $birthday = $_POST['year']."-".$_POST['month']."-".$_POST['day']; 20 $password = $_POST['password']; 21 22 // disconnect 23 $db = null; 24 25} catch (PDOException $e) { 26 echo $e->getMessage(); 27 exit; 28} 29?> 30 31 32<html lang="ja"> 33<head> 34 <meta charset="utf-8"> 35 <title>ユーザー一覧</title> 36</head> 37<body> 38 39<?php 40 print $_POST['name']; 41 print $_POST['year']; 42 print $_POST['month']; 43 print $_POST['day']; 44 print $_POST['password']; 45?> 46</body> 47</html>

使用サーバー: Xserver

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

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

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

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

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

guest

回答1

0

ベストアンサー

POSTで受け取った値は、insertの前に変数に入れた方が良いのではないですか?

このスクリプトだと、$nameなどの変数には何も入っていないような・・・

投稿2020/03/23 15:35

chapp

総合スコア233

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

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

begineer

2020/03/23 15:52

完全にそれでした。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問