mysqlでテーブルを作成するときは、電話番号はint型が適していますか?
PDOでDBに登録しようとすると上手く登録できない現象が起きています。
登録完了画面
php
1<?php 2// 開発時にこれを書かないのはNG 3ini_set('display_errors', TRUE); 4error_reporting(E_ALL); 5 6session_start(); 7 8header("Content-type: text/html; charset=utf-8"); 9 10require_once(__DIR__. '/db.php'); 11//配列を文字列に変換する(DBに登録した配列を使う時は、逆にデコードをする) 12$hobbyData = $_SESSION["hobby"]; 13$_SESSION["hobby"] = serialize($hobbyData); 14 15 16 17 18 19try { 20 21 $dbh = new PDO($dsn, $user, $password); 22 $statement = $dbh->prepare("INSERT INTO users (name, email, password, tel, prefectures, hobby, gender, contact, creation_time) VALUES (:name, :email, :password, :tel, :prefectures, :hobby, :gender, :contact, :creation_time)"); 23 24 if ($statement) { 25 26 $date = date_default_timezone_set('Asia/Tokyo'); 27 $date = new DateTime(); 28 $date = $date->format('Y-m-d H:i:s'); 29 30 // プレースホルダへ実際の値を設定する 31 $statement->bindValue(':name', $_SESSION["name"], PDO::PARAM_STR); 32 $statement->bindValue(':email', $_SESSION["email"], PDO::PARAM_STR); 33 $statement->bindValue(':password', $_SESSION["password"], PDO::PARAM_STR); 34 $statement->bindValue(':tel', $_SESSION["tel"], PDO::PARAM_STR); 35 $statement->bindValue(':prefectures', $_SESSION["prefectures"], PDO::PARAM_STR); 36 $statement->bindValue(':hobby', $_SESSION["hobby"], PDO::PARAM_STR); 37 $statement->bindValue(':gender', $_SESSION["gender"], PDO::PARAM_STR); 38 $statement->bindValue(':contact', $_SESSION["contact"], PDO::PARAM_STR); 39 $statement->bindValue(':creation_time', $date, PDO::PARAM_STR); 40 41 42 43 // 実行する 44 if (!$statement->execute()) { 45 $errors['error'] = "登録失敗しました。 "; 46 } 47 48 //データベース切断 49 $dbh = null; 50 51 52 } 53 54 55} catch (PDOException $e) { 56 print('Error:'.$e->getMessage()); 57 $errors['error'] = "データベース接続失敗しました。"; 58} 59 60 61 62 ?> 63 64 65 <!DOCTYPE html> 66 <html> 67 <head> 68 <meta charset="utf-8"> 69 <title>登録完了</title> 70 </head> 71 <body> 72 73登録完了! 74 75 76 77<a href="http://192.168.33.15"><button type="button" name="singlebutton" class="btn btn-primary" id="singlebutton">戻る</button></a> 78 79 80 81 </body> 82 </html> 83

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/02 11:15