MySQL veritabanı tabloya form verilerini eklemek nasıl

5 Cevap php

Yani bu kayıt senaryosu var:

HTML:

<form action="register.php" method="POST">
    <label>Username:</label> <input type="text" name="username" /><br />
    <label>Password:</label> <input type="text" name="password" /><br />

    <label>Gender:</label>
    <select name="gender">
      <optgroup label="genderset">
        <option value="Male">Male</option>
        <option value="Female">Female</option>
        <option value="Hermaphrodite">Hermaphrodite</option>
        <option value="Not Sure!!!">Not Sure!!!</option>
      </optgroup>
    </select><br />
<input type="submit" value="Register" />
</form>

PHP / SQL:

<?php

$username = $_POST['username'];
$password = $_POST['password'];
$gender = $_POST['gender'];

mysql_query("INSERT INTO registration_info (username, password, gender) VALUES ('$username', '$password', '$gender')
")  

?>

Sorun kullanıcı adı ve şifre sadece iyi "registration_info" tabloeklenen alır vardır. Ama seçme açılan menüden Cinsiyet giriş yok. Bazı biri, bu nasıl düzeltebilirim sayesinde bana söyleyebilir misiniz.

5 Cevap

veritabanında veri türünü kontrol, bir uyumsuzluk var olabilir

Siz seçeneklerden herhangi bir değer vermedi, bu yüzden sadece boş bir dize takılı alır.

Sen HTML liste öğeleri değer ataması gerekir.

örneğin

<option value="Male">Male</option>

<?php echo var_dump($_POST['gender']); ?>

Size bir şey söyleyeyim mi? Belki de (sizin tablodaki) cinsiyetiniz datatype bunu koymak ne ile uyumlu değil mi? Belki de, örneğin bir ENUM ('M', 'F') bulunuyor.