前提・実現したいこと
PHPでテキストボックスの内容をuserテーブルのcontentsカラムに入れる機能を作っています。
どのcontantsカラムに入れるかはメールアドレスに紐づいている一意のidのcontentsカラムに入れようとしています。また、このSQLの書き方が分かりません。分かる方、ご教示お願いいたします。
textボックスに入れた文字がDBに登録すらされません。
SQL構文エラーチェックで掃かれたエラーは下記になります。
該当のソースコード
<?php session_start(); $link = mysqli_connect("localhost","root","root","memberapp"); if(mysqli_connect_error()){ die("DBへの接続失敗!"); } echo "このユーザーは".$_SESSION['email']."でログインしています。"; //テキストボックスに入力された内容をメールアドレスのidに紐づけてcontentsカラムに登録。 $sql = "INSERT INTO users (contents) select id from users"; ?> <form method="post"> <input type="text" name="text" placeholder="Please fill in the blank"> <input type="submit" name="submit" value="投稿"> </form>
試したこと
SQL構文チェックツールでエラーを掃いたが、そのエラーの意味が分からず。
補足情報(FW/ツールのバージョンなど)
OS:windows10
ブラウザ:Edge
よろしくお願いいたします。
吐いたエラーの内容を頂けると、より回答が付きやすくなると思いますよ!
構文にエラーがないので、「SQL構文チェックツールでエラーを掃いた」そのものを提示してください。
どうやらSQL文そのものの書き方の質問に見受けられますが……まずは、テキストボックスやPHPは置いておいて、データベースに対してSQL文を発行して、想定したInsert処理を実行できますでしょうか? それをPHPでどう作るかが分からない、であればPHPの質問ですが、前述のInsert文が書けない、というのであれば、申し訳ありませんがご自分でSQLの基礎を一通り勉強していただかないと、ここで具体的なSQLを(テーブルの構成なども分からない状態で)お伝えするのは困難だと思います。また、SQLの基礎をここの回答欄でお伝えするのも困難です。また「エラーの意味が分からず」といわれるのであれば、どういうエラーが出たのかを書くようにしましょう。
ダブルクォートつきでインサートを実行しようとしているようですが、$sqlの実行をしている箇所のコードを開示してください。そこにエラーがあるので。
こちらが$sqlを実行した際のブラウザ上で掃かれたエラーコードになります。Notice: Undefined index: text in C:\MAMP\htdocs\mysql\afterLogin.php on line 16
回答2件
あなたの回答
tips
プレビュー