前提
Viewsフォルダにcontact.php, confirm.php, complete.php
>phpmyadminのテーブル
細かいですが、「MySQLのテーブル」です。
phpMyAdminはあくまでMySQLを操作するためのツールで、手段の1つです。
コマンドラインや他のGUIツールでもアクセスできます。
ちなみにテーブル定義はどうなっていますか?
phpMyAdminの「構造」タブをスクリーンショットするか、
「エクスポート」でCREATE TABLE文を出力してご提示ください(後者の方がこちらで再現できるのでありがたい)
また、細かいですが・・・
Conect → Connect
stml → stmt としたほうが良いかと( statement の略でおそらくstmtとしている記事のほうが多いです)
https://www.php.net/manual/ja/pdo.prepare.php
※あくまで「命名」でプログラムにとってはそういう文字列の集合体でしかないのですが、
プログラムを書いたり読むのは人間なので、なるべく正しく綴り、略称も良く使われるものを採用した方が良いです
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様
今回の問題について解決することができました。
トランザクションを指定しているのにコミットをしていなかったことが原因でした。
初歩的なミスで申し訳ございません;
この度はありがとうございました!
後から参考にする人もいるので、念のため追記しておいてもらえると。
回答がついて、しかも解決済みにした質問本文の編集は慎重にしてください。(むしろすることはサービスのポリシーに反する行動となり得ます)
「意図的に内容が抹消された質問」となります。
https://teratail.com/help/avoid-asking

回答1件
あなたの回答
tips
プレビュー