Şu anda yaz boyunca bir proje için PHP ve mySQL'i öğreniyorum. 4 metin alanını bir mySQL tablosuna depolayacak bir HTML formu oluşturmaya çalışıyorum. Bu kullanıyorum kodudur:Neden kodum ikiden fazla veri alanı saklamıyor?
HTML Formu
<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>
Microsoft WebMatrix ve I ile benim veritabanı oluşturmayı
// 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();
PHP Eylem yerel olarak koşuyorum benim makinemden. Veritabanındaki her alan aynı veri tipini kullanır.
Sorunum, kodu çalıştırdığımda yalnızca ilk iki metin alanını depolamasıdır. Zaman ve Açıklama, tabloya boş olarak gönderilir.
eklemek print_r ($ _ POST) Postevent.php burada
ve teslim düğmesini
name="submit"
ekleyin postEvent.php'nin en üstünde ve çıktıda çıktıyı yayınlayın. –'$ sql = "olayları (Ad, Tarih, Saat, Açıklama) DEĞERLER INSERT INTO ('$ INAME', '$ iDate', '$ iTime', '$ iDescription')";' @MawiaHL –
iyidir Her iki öneriyi de ekledim, rasgele bir metin girdim ve sayfa basildiginda: _Array ([Ad] => hjjhgjh [Tarih] => kljklj) Yeni kayıt başarıyla oluşturuldu –