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

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

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

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

Q&A

解決済

1回答

1084閲覧

PHPでお問い合わせ入力データをデータベースに保存したい

tomotomo4322

総合スコア7

PHP

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

0グッド

0クリップ

投稿2023/01/16 17:05

編集2024/03/25 09:04

前提

Viewsフォルダにcontact.php, confirm.php, complete.php

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

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

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

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

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

m.ts10806

2023/01/16 23:14

>phpmyadminのテーブル 細かいですが、「MySQLのテーブル」です。 phpMyAdminはあくまでMySQLを操作するためのツールで、手段の1つです。 コマンドラインや他のGUIツールでもアクセスできます。
m.ts10806

2023/01/16 23:19 編集

ちなみにテーブル定義はどうなっていますか? phpMyAdminの「構造」タブをスクリーンショットするか、 「エクスポート」でCREATE TABLE文を出力してご提示ください(後者の方がこちらで再現できるのでありがたい) また、細かいですが・・・ Conect → Connect stml   → stmt としたほうが良いかと( statement の略でおそらくstmtとしている記事のほうが多いです) https://www.php.net/manual/ja/pdo.prepare.php ※あくまで「命名」でプログラムにとってはそういう文字列の集合体でしかないのですが、  プログラムを書いたり読むのは人間なので、なるべく正しく綴り、略称も良く使われるものを採用した方が良いです
tomotomo4322

2023/01/17 01:37

m.ts10806様 おはようございます。 ご指摘いただき誠にありがとうございました! MySQLとphpMyadminの関係性が理解できました。 また、変数名についてもご指摘していただいた内容を理解いたしました! 今後気をつけて命名するようにします! CREATE TABLE文は下記の通りになっております。 どうかよろしくお願いいたします。 、、、 -- phpMyAdmin SQL Dump -- version 5.1.1 -- https://www.phpmyadmin.net/ -- -- ホスト: localhost:8889 -- 生成日時: 2023 年 1 月 17 日 10:32 -- サーバのバージョン: 5.7.34 -- PHP のバージョン: 7.4.21 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; -- -- データベース: `casteria` -- -- -------------------------------------------------------- -- -- テーブルの構造 `contacts` -- CREATE TABLE `contacts` ( `id` int(11) NOT NULL COMMENT 'システムID', `fullname` varchar(50) NOT NULL COMMENT '氏名', `kana` varchar(50) NOT NULL COMMENT 'フリガナ', `tel` varchar(11) DEFAULT NULL COMMENT '電話番号', `email` varchar(100) NOT NULL COMMENT 'メールアドレス', `body` text COMMENT 'お問い合わせ内容', `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '送信日時' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- ダンプしたテーブルのインデックス -- -- -- テーブルのインデックス `contacts` -- ALTER TABLE `contacts` ADD PRIMARY KEY (`id`); -- -- ダンプしたテーブルの AUTO_INCREMENT -- -- -- テーブルの AUTO_INCREMENT `contacts` -- ALTER TABLE `contacts` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'システムID'; COMMIT; 、、、
m.ts10806

2023/01/17 03:44

質問は編集できますので
tomotomo4322

2023/01/17 11:09

m.ts10806様 今回の問題について解決することができました。 トランザクションを指定しているのにコミットをしていなかったことが原因でした。 初歩的なミスで申し訳ございません; この度はありがとうございました!
m.ts10806

2023/01/17 20:23

後から参考にする人もいるので、念のため追記しておいてもらえると。
m.ts10806

2024/03/26 00:00

回答がついて、しかも解決済みにした質問本文の編集は慎重にしてください。(むしろすることはサービスのポリシーに反する行動となり得ます) 「意図的に内容が抹消された質問」となります。 https://teratail.com/help/avoid-asking
guest

回答1

0

ベストアンサー

トランザクション指定しているのですから最後にコミットしてください
コミットしないでセッションが終了すればロールバックされます

PHP

1$dbh->beginTransaction(); 2//・・・ 3$stml->execute($params); 4dbh->commit();

もしくはbeginTransactionさえ指定しなければオートコミットします

投稿2023/01/17 03:23

編集2023/01/17 03:25
yambejp

総合スコア117678

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

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

tomotomo4322

2023/01/17 11:07

yambejp 様 ご回答いただき誠にありがとうございました! yambejp様のお陰で無事に解決することができました! トランザクションの内容をきちんと理解できてませんでした。 トランザクションについてもう一度インプットします。 ありがとうございました^ ^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問