Mysql
 sql >> база данни >  >> RDS >> Mysql

Вмъкване на стойности в полето за отметка в MySQL база данни с PHP

Квадратчетата за отметка се публикуват само когато са отбелязани. Така че, ако квадратчето за отметка не е поставено, то няма да се появи в $_POST . Освен това обикновено не трябва да давате никакви стойности на квадратчетата за отметка. Вместо това използвайте имена, за да ги различавате.

В базата данни обикновено представлявам квадратчета за отметка с малки точки и съхранявам 1 за отметнато и 0 за немаркирано.

// 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;

Също така имайте предвид, че html изисква идентификаторите да бъдат уникални. Така че не можете да имате няколко елемента с едно и също id. И трябва да дезинфекцирате въведените данни, за да предотвратите инжектиране на sql. Използвайте mysql_real_escape_string() върху въведените от потребителя данни, които влизат в базата данни.

Актуализация

Основният проблем е, че в заявката липсва ') ' на последния ред. Заявката трябва да изглежда така

$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);

Обърнете внимание на затварящия ') ' на последния ред на заявката. Също така имайте предвид, че създаването на заявка по този начин, в променлива, ви позволява да изведете създадената заявка, така че да можете да видите какво точно се изпраща на MySQL и също така можете да тествате заявката си в различна среда (т.е. в phpmyadmin или друга администрация на база данни инструмент).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Генерирайте уникален дълъг идентификатор за изглед в MySql

  2. UTF-8:Генерал? Кошче? Unicode?

  3. Пуснете колона от голяма маса

  4. Как да покажа грешка в MySQL в PHP за дълга заявка, която зависи от въведеното от потребителя?

  5. MySQL - Уникален външен ключ