データベースにデータを保存する方法

前提

phpでデータベースにアクセスしデータ保存を行おうとしたところ次のエラーが出ました。

実現したいこと

データベースにデータを保存出来るようにしたいです。

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

Fatal error: Uncaught Error: Call to a member function execute() on bool in

該当のソースコード

php

問題の起きているプログラムにデータを送っているプログラム部分です。 <?php session_save_path("/../tmp/"); /*セッションファイルの置き場所を指定する。しないとheader先で同じ場所を参照できないため、受け取れない。*/ session_start(); /*セッションを始める。*/ if(!empty($_POST['name'])) { $_SESSION['name']=$_POST['name']; if(!empty($_POST['nickname'])) { $_SESSION['nickname']=$_POST['nickname']; if(!empty($_POST['password'])) { $_SESSION['password']=$_POST['password']; if(!empty($_POST['comment'])) { $_SESSION['comment']=$_POST['comment']; header('location:https://--------------/insert/insert.php'); exit(); }else{ echo 'コメントを入力してください。'; } }else{ echo 'パスワードを入力してください。'; } }else{ echo 'IDを入力してください。'; } }else{ echo '名前を入力してください。'; } ?>

php

問題の出ているプログラムです。insert <?php /*データベースにプロフィールを新規登録するプログラムinsert*/session_save_path("/../tmp/");session_start(); /*前のページからのデータを持ってくる。*/$name = $_SESSION['name'];$nickname = $_SESSION['nickname'];$password = $_SESSION['password'];$comment = $_SESSION['comment'];/*require_onceなどを使うときは飛ばした先でexitなどが起きないようにする。*/require_once(__DIR__."/../config/config.php"); /*データベース接続用のファイルを読み込む*/ $sql = 'INSERT INTO ------------(name, nickname, password, comment) VALUES($name, $nickname, $password, $comment)'; $stmt = $con -> prepare($sql); $stmt -> execute(); /*上のprepareの中(の$sql)を実行するという意味。*/ /*header関数は単体の関数としては無理なので何か関数の中に入れる。 headerの前に画面出力があると上手くいかないので消す。*/ /*処理が終わったら飛ぶページ*/ header('location:https://------------------'); echo 'こんにちは2'; exit();?>

php

参照しているconfigのファイルです。 <?php/*データベース保存プログラム(config)*//*データベースに接続する*/ $con = mysqli_connect("-------------------------------"); mysqli_select_db($con, "------------"); ?>

試したこと

headerではsessionさせたデータを参照するにはセッションファイルの置き場所をきめそこを参照させないといけないと見て、そのように書き換えたのですが、うまくいきませんでした。
エラーの出ている直前までechoなどで、読み込まれているか確認したところinsert直前までは読み込まれていました。

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

websiteに関する情報の部分は-----で隠してあります。
直前にデータを入力してもらっているページからheaderでこのページに飛ばし、データベースへの登録までを行いprofileページに飛ばしたいのですが、保存がうまくいきません。
c言語については現在大学で少し齧っているのですが、phpに関しては独学でやっているため、ほとんど分かりません。
長々とプログラムや説明を書いていて見ずらいと思いますが、よろしくお願いいたします。

コメントを投稿

0 コメント