私は現在、夏の間、プロジェクトのためにPHPとmySQLを学習しています。私は4つのテキストフィールドをmySQLテーブルに格納するHTMLフォームを作成しようとしています。これは私が使用しているコードです:なぜ私のコードは2つ以上のデータフィールドを格納しませんか?
HTMLフォーム
<form action="postEvent.php" method="post">
Name:
<input type="text" name="Name" />
Date:
<input type="text" name="Date" />
Time:
<input type="text" name"Time" />
Description:
<input type="text" name"Description" />
<input type="submit" value="Submit">
</form>
PHPアクション
// Create connection
$link = mysqli_connect('localhost', 'root', '******', 'myDB');
// Check connection
if ($link->connect_error) {
die("Connection failed: " . $link->connect_error);
}
$iName = mysqli_real_escape_string($link, $_POST['Name']);
$iDate = mysqli_real_escape_string($link, $_POST['Date']);
$iTime = mysqli_real_escape_string($link, $_POST['Time']);
$iDescription = mysqli_real_escape_string($link, $_POST['Description']);
$sql = "INSERT INTO events "
. "(Name,Date,Time,Description)"
. " VALUES ('$iName','$iDate','$iTime','$iDescription')";
if (mysqli_query($link, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $link->error;
}
$link->close();
私は、Microsoft WebMatrixのを使用して自分のデータベースを設定し、私はそれをローカルに実行していますよ私のマシンから。データベース内の各フィールドは同じデータ型を使用します。
私の問題は、コードを実行すると最初の2つのテキストフィールドだけが格納されるということです。時間と説明は空白として表に提出されます。
追加しますprint_r($ _ POST)Postevent.php私はここに
と送信ボタンで
name="submit"
を追加することですpostEvent.phpの一番上に表示され、質問に出力されます。 –'$ sql =" INSERT INTOイベント(名前、日付、時刻、説明) ( '$ iName'、 '$ iDate'、 '$ iDescription') ';'はより良い –
@MawiaHL 私は両方の提案を追加し、いくつかのランダムなテキストを入力して、次のページを印刷しました: _Array([Name] => hjjhgjh [Date] => kljklj)新しいレコードが正常に作成された_ –