Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserindo valores de caixa de seleção no banco de dados MySQL com PHP


As caixas de seleção só são postadas quando marcadas. Portanto, se a caixa de seleção não estiver marcada, não aparecerá em $_POST . Além disso, você geralmente não deve atribuir nenhum valor às caixas de seleção. Em vez disso, use nomes para distingui-los.

No banco de dados, geralmente represento caixas de seleção com tinyints e armazeno 1 para marcado e 0 para desmarcado.
// 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;

Observe também que o html exige que os ids sejam exclusivos. Portanto, você não pode ter vários elementos com o mesmo id. E você deve higienizar suas entradas para evitar injeção de sql. Use mysql_real_escape_string() nas entradas do usuário que vão no banco de dados.

Atualizar

O principal problema é que a consulta está faltando um ') ' na última linha. A consulta deve se parecer com
$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);

Observe o fechamento ') ' na última linha da consulta. Observe também que criar a consulta como esta, em uma variável, permite que você produza a consulta criada para que você possa ver exatamente o que é enviado para o MySQL e também pode testar sua consulta em um ambiente diferente (ou seja, no phpmyadmin ou em qualquer outra administração de banco de dados ferramenta).