Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Memasukkan nilai kotak centang ke dalam Database MySQL dengan PHP

Kotak centang hanya diposting ketika dicentang. Jadi jika kotak centang tidak dicentang, tidak akan muncul di $_POST . Anda juga biasanya tidak boleh memberikan nilai apa pun ke kotak centang. Alih-alih gunakan nama untuk membedakannya.

Dalam database saya biasanya merepresentasikan kotak centang dengan tinyints dan menyimpan 1 untuk dicentang dan 0 untuk tidak dicentang.

// If your checkbox name is foo, this will convert it
// into a value that can be stored in the database
$foo = isset($_POST['foo']) ? 1 : 0;

Perhatikan juga bahwa html membutuhkan id untuk menjadi unik. Jadi Anda tidak dapat memiliki banyak elemen dengan id yang sama. Dan Anda harus membersihkan input Anda untuk mencegah injeksi sql. Gunakan mysql_real_escape_string() pada input pengguna yang masuk ke database.

Perbarui

Masalah utamanya adalah kueri tidak memiliki ') ' di baris terakhir. Kueri akan terlihat seperti

$query = "INSERT INTO markers (ciudad,
                        zona,address,name,
                        telefono,email,piso,
                        tipo,erasmus,nhabitaciones,
                        plazas,equipHabita,nbanos,
                        salon,cocina,electrodomesticos,
                        garaje,internet,calefaccion,
                        sexo,precio,superficie,otros,
                        fecha,lat,lng)
    VALUES ('{$_POST['ciudad']}','{$_POST['zona']}',
            '{$_POST['address']}','{$_POST['name']}','{$_POST['telefono']}',
            '{$_POST['email']}','{$_POST['piso']}','{$_POST['tipo']}',
            '{$_POST['erasmus']}','{$_POST['nhabitaciones']}',
            '{$_POST['plazas']}','{$equipHabitaF}',
            '{$_POST['nbanos']}','{$equipSalonF}',
            '{$equipCocinaF}','{$equipElectroF}','{$_POST['garaje']}',
            '{$_POST['internet']}','{$_POST['calefaccion']}',
            '{$_POST['sexo']}','{$_POST['precio']}',
            '{$_POST['superficie']}','{$_POST['otrosF']}',
            '{$_POST['fecha']}','{$_POST['lat']}',
            '{$_POST['lng']}')";
mysql_query($query, $link);

Perhatikan penutup ') ' pada baris terakhir kueri. Perhatikan juga bahwa membuat kueri seperti ini, dalam variabel, memungkinkan Anda untuk menampilkan kueri yang dibuat sehingga Anda dapat melihat apa yang sebenarnya dikirim ke MySQL dan Anda juga dapat menguji kueri Anda di lingkungan yang berbeda (yaitu di phpmyadmin atau administrasi basis data lainnya alat).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel 4 tidak dapat menjalankan seluruh kueri RAW

  2. MySQL:Mengonversi dari MyISAM ke InnoDB membuat kueri lebih cepat...?

  3. gunakan kumpulan hasil prosedur tersimpan mysql di prosedur tersimpan lainnya

  4. MySQL:Jangan masukkan baris baru jika baris yang ditentukan sama

  5. Envers + MYSQL + List<String> =SQLSyntaxErrorException:Kunci yang ditentukan terlalu panjang;