実現したいこと
ご覧いただきありがとうございます。
プログラミングを始めたばかりで変な文が有るとは思いますが、どうぞよろしくお願いいたします。
ただいまPHPとpostgresSQL(pqAdmin4)を使い
アンケートフォームを作る練習をしていまして、
どのようにSQL文を書いたら配列をINSERTすることができるのでしょうか?
PHP
1<?php 2 3 var_dump($_POST); 4 5 $ans = filter_input(INPUT_POST,'ans',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); 6 $res = filter_input(INPUT_POST,'res',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); 7 8 $dbUrl = parse_url(getenv('DATABASE_URL')); 9 $db['host'] = $dbUrl['host']; 10 $db['user'] = $dbUrl['user']; 11 $db['pass'] = $dbUrl['pass']; 12 $db['dbname'] = ltrim($dbUrl['path'], '/'); // データベース名 13 14try{ 15 $pdo = new PDO($dsn,$db['user'],$db['pass']); 16 17 $sql = "INSERT INTO sample2 (name, old, sex, birthday, address, hobby, birthplace, job, favfood, favmovie 18 ) VALUES 19 ($ans[0], $ans[1], $ans[2], $ans[3], $ans[4], $ans[5], $ans[6], $ans[7], $ans[8],$ans[9])"; 20 21 $res = $pdo->query($sql); 22 23}catch (PDOException $e){ 24 exit(mb_convert_encoding($e->getMessage(),'UTF-8','SJIS-win')); 25} 26 27$pdo = null; 28 29?> 30 31<!doctype html> 32<html lang="ja"> 33<head> 34 <meta charset="utf-8"> 35 <title>登録画面</title> 36</head> 37<body> 38 39 <h1>登録しました</h1> 40 41</body> 42</html> 43
表示された画面
array(1) { ["ans"]=> array(10) { [0]=> string(3) "あ" [1]=> string(3) "い" [2]=> string(3) "う" [3]=> string(3) "え" [4]=> string(3) "お" [5]=> string(3) "か" [6]=> string(3) "き" [7]=> string(3) "く" [8]=> string(3) "け" [9]=> string(3) "こ" } }
自分が思う問題点
php
1$sql = "INSERT INTO sample2 (name, old, sex, birthday, address, hobby, birthplace, job, favfood, favmovie 2 ) VALUES 3 ($ans[0], $ans[1], $ans[2], $ans[3], $ans[4], $ans[5], $ans[6], $ans[7], $ans[8],$ans[9])";
の中の$ans[]の正しい書き方を教えてください。
お願いいたします。
回答3件
あなたの回答
tips
プレビュー