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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

3回答

2318閲覧

MAMPでPHPとMySQLで作る登録フォームが上手くいきません。。助けてください。

benkyouchuu

総合スコア26

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2016/07/16 16:55

編集2016/07/16 17:21

現在、PHPを勉強中です。

勉強の一つで、登録フォームを作ろうと思っています。
なのですが、登録がQueryが流れてくれなくて登録が失敗しています。

PHP7.xのバージョンです。

改善策もしくは、こういう風に作るべきといったアドバイスをお待ちしています。
初学者なので、優しく教えてください。お願いします。

lang

1<?php 2$name = $_POST["name"]; 3$tel = $_POST["tel"]; 4$email = $_POST["email"]; 5$course = $_POST["course"]; 6$time = $_POST["time"]; 7$server ="localhost"; 8$dbname="test1_db"; 9$user="root"; 10$password ="root"; 11$mysqli = mysqli_connect($server,$user,$password,$dbname) or die("Connection err1"); 12$db = mysqli_select_db($mysqli,$dbname) or die("Connection error2"); 13$sql = "insert into register1 ('name','tel','email','course','time') values('$name','$tel','$email','$course','$time')"; 14if($mysqli->query($sql) === TRUE){ 15 echo "登録成功: 登録者=".$name; 16}else { 17 echo "登録失敗; 登録者=".$name; 18} 19mysqli_close($mysqli); 20?> 21

よろしくお願いします。

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

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

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

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

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

guest

回答3

0

ベストアンサー

php

1<?php 2 3$name = filter_input(INPUT_POST, 'name'); 4$tel = filter_input(INPUT_POST, 'tel'); 5$email = filter_input(INPUT_POST, 'email'); 6$course = filter_input(INPUT_POST, 'course'); 7$time = filter_input(INPUT_POST, 'time'); 8 9$host = 'localhost'; 10$database = 'test'; 11$user = 'root'; 12$password = 'password'; 13 14$link = mysqli_connect($host, $user, $password, $database); 15//mysqli_select_db($link, database); 16 17$sql = "INSERT INTO test (`name`, `tel`, `email`, `course`, `time`) VALUES (?, ?, ?, ?, ?)"; 18$stmt = mysqli_prepare($link, $sql); 19mysqli_stmt_bind_param($stmt, "sssss", $name, $tel, $email, $course, $time); 20$stmt->execute(); 21mysqli_stmt_execute($stmt); 22mysqli_close($link); 23

投稿2016/07/16 17:14

編集2016/07/16 17:30
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

benkyouchuu

2016/07/16 17:27

ありがとうございます。夜分にご回答いただいたのに申し訳なのですが、明日もアルバイトがありもう寝ますので、明日試してみたいと思います。先ほどの質問、そしてこの質問も丁寧に答えてくださりありがとうございます。また、ご相談させてするとおもいますので、よろしくお願いします。
guest

0

とりあえず、変数がうまく設定できてないスね。

PHP

1$sql = "insert into register1 ('name','tel','email','course','time') values('" . $name . "','" . $tel . "','" . $email . "','" . $course . "','" . $time . "')";

あと、ソースは画像よりテキストのコピペがいいです。

投稿2016/07/16 17:09

takasima20

総合スコア7458

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

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

退会済みユーザー

退会済みユーザー

2016/07/16 17:22 編集

SQLインジェクションの脆弱性がありますね。 あと、カラムを囲むのはクォーテーションではなく、バッククォートです。
benkyouchuu

2016/07/16 17:24

それはなんとなくわかっていたのですが、知識が足りなくてできていませんでした。ご指摘、アドバイスありがとうございます。
guest

0

mysqli_query の使い方が間違ってますね。引数の1番目が接続リソース。2番目がsql文です。
詳しくは、公式の関数解説をご確認ください。
http://php.net/manual/ja/mysqli.query.php

クエリ発行時に、エラーが起きた場合の確認の仕方等も載ってます(mysqli_errorによる結果確認)

投稿2016/07/16 17:03

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

benkyouchuu

2016/07/16 17:23

ありがとうございます。いろいろ勉強中なので、がんばります。夜遅くにありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問