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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

1688閲覧

ワードプレスのデータベースに書き込みたい

sato.aj

総合スコア14

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/07/08 04:01

編集2019/07/08 04:30

前提・実現したいこと

初めて質問します。よろしくお願いします。
ワードプレスでデータベースを使った予約システムを作っています。
データベースに日付だけ入ったデータを入れておいて
フォームから入ったデータでアップデートするというものです。

発生している問題・エラーメッセージ

データベースに書き込めません。
pdoで読み込みはできます。
調べたら$wpdbを使うと書いてあったのですが書き方がいまいちわかりません。

エラーメッセージ

phpmyadminで確認してもデータは書き込めておらず
データは書き込めずページが見つかりませんとなります。

該当のソースコード

php

1ソースコード
<form action="" method="post"> <p>名 前<input type="text" name="name"></p> <p>メール<input type="text" name="mail"></p>   <p>電 話<input type="int" name="tel"></p> <input type="hidden" name="date" value=""> <input type="submit" value="決済する"> </form> <?php endif; ?> <?php # データを追加する $pdo = new PDO('mysql:host=localhost; dbname=; charset=utf8','',''); $sql = 'SELECT FROM jimny ';?> <?php if(isset($_POST['name'])) :?> <?php echo 'ご予約ありがとうございました。' ;?> <?php foreach($_POST['date1'] as $dad){ $name = $_POST['name']; $mail= $_POST['mail']; $tel= $_POST['tel']; $date= $year*10000+$month*100+$dad; $sql="UPDATE jimny SET name=:name, mail=:mail, tel=:tel where date=:date"; $statement = $pdo->prepare($sql);  $statement->bindValue(':name', $name, PDO::PARAM_STR); $statement->bindValue(':mail', $mail, PDO::PARAM_STR); $statement->bindValue(':tel', $tel, PDO::PARAM_INT); $statement->bindValue(':date', $date, PDO::PARAM_INT); $statement->execute();} <?php endif; ?>

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。
テーブルの構造です。

名前 データ型 照合順序 属性 NULL デフォルト値 コメント その他 操作

1 id主 int(11) いいえ なし AUTO_INCREMENT 2 name varchar(30) utf8_general_ci はい なし 3 mail varchar(40) utf8_general_ci はい なし 4 tel int(11) いいえ なし 5 date int(11) いいえ なし

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

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

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

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

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

gentaro

2019/07/08 04:10

データベースの更新に関する質問であれば、せめてテーブル定義がわかる資料を質問文に追記して下さい。
guest

回答1

0

ベストアンサー

こうですかね。

PHP

1global $wpdb; 2/* 3$wpdb->update( テーブル名, 保存したいデータ配列, where句で使用するカラム名をキーとする配列); 4という形で利用するので 5 6$table_name: 保存するテーブル名 7$fields: 保存するカラム名をキーとした保存したいデータの連想配列 8$dad: foreach($_POST['date1'] as $dad)から推測すると日付データ? 9 10※そもそも、元のformにname="date1[]"というinput要素が無いのでこれで動くか保証はありません。 11*/ 12$wpdb->update( $table_name, $fields, array( 'date' => $dad ) );

投稿2019/07/09 01:39

yukikp

総合スコア797

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

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

sato.aj

2019/07/24 22:55

ありがとうございました。解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問