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

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

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

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

Q&A

解決済

1回答

989閲覧

PHP でのデータベースにデータ入れる

shos3

総合スコア15

PHP

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

0グッド

0クリップ

投稿2021/09/27 12:00

現在PHPでの開発を行なってまして、ユーザーの投稿をデータベースに入れ、それを表示したいのですが、var_dumpでデータを取得できているか確認したところ以下のようになっていたので取得はできています。それをデータベースに入れたくお力をお借りしたいです。

array(1) { ["memo"]=> string(18) "ああああああ" }

php

1<?php 2  $dsn = 'mysql:dbname=uses;host=localhost:8889'; 3  $user = 'root'; 4 $password = 'root'; 5 6try { 7 $dbh = new PDO($dsn, $user, $password); 8 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 9} catch (PDOException $e) { 10 echo 'Connection failed: ' . $e->getMessage(); 11} 12 13require('../dbconnect.php'); 14session_start(); 15try { 16 header('Expires:-1'); 17 header('Cache-Control:'); 18 header('Pragma:'); 19 20 21if ($_POST['memo'] == '') { 22 $error['memo'] = 'blank'; 23} 24 25//ログインしていないと入れないようにする! 26 if (isset($_SESSION['id']) && $_SESSION['time'] + 3600 > time()) { 27 // ログインしている 28 $_SESSION['time'] = time(); 29 30 $users = $db->prepare('SELECT * FROM users WHERE id=?'); 31 $users->execute(array($_SESSION['id'])); 32 $user = $users->fetch(); 33 } else { 34 // ログインしていない 35 header('Location: login.php'); exit(); 36 } 37 38 39// 投稿を記録する 40if (!empty($_POST)) { 41 if ($_POST['message'] != '') { 42 $message = $db->prepare('INSERT INTO memos SET user_id=?, message=?, created=NOW()'); 43 $message->execute(array( 44 $_SESSION['id'], 45          $_POST['message'] 46 )); 47 } 48} 49} 50catch(Exception $e){ 51 echo $e->getMessage(); 52 echo $e->getTraceAsString(); 53 die(); 54} 55?> 56 57<?php 58$_SESSION['id']; 59var_dump($_POST); 60?> 61 62 63<!DOCTYPE html> 64<html lang="ja"> 65<head> 66 <meta charset="UTF-8"> 67 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 68 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 69 <title>ツイート</title> 70 <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous"> 71 <style> 72 body{ 73 align-items: center; 74 padding: 80px; 75 background-color: blanchedalmond; 76 text-decoration: none; 77 } 78 </style> 79</head> 80<body class="text-center"> 81 82 83 84<form action="input.php" method="post"> 85 <dl> 86 <dt> 87 <div class="msg"> 88 <?php echo htmlspecialchars($user['image'], ENT_QUOTES); ?> 89 <?php echo htmlspecialchars($user['name'], ENT_QUOTES); ?>さん、投稿をしてください!</dt> 90 <dd> 91 <textarea name="memo" cols="50" rows="5" placeholder="自由に入力してください" required></textarea> 92   <button type="submit">投稿する</button> 93 94 <?php if ($error['memo'] == 'blank'): ?> 95 <p class="error">(空投稿はできなくなっています)</p> 96 <?php endif; ?> 97 </dd> 98 </dl> 99 <div> 100 101 </div> 102 </form> 103 </body> 104</html>

DB

1CREATE TABLE `memos` ( 2 `id` int(11) NOT NULL, 3 `message` text COLLATE utf8mb4_unicode_ci NOT NULL, 4 `user_id` int(11) NOT NULL, 5 `reply_post_id` int(11) NOT NULL, 6 `created` datetime NOT NULL, 7 `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 8) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

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

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

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

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

guest

回答1

0

自己解決

データベースに入れる際のデータベース名に誤りがあり、そこを直したらOKでした。memoとmessageに誤りありです。

投稿2021/09/27 14:20

編集2021/10/19 00:33
shos3

総合スコア15

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問