sql >> Database teknologi >  >> RDS >> Mysql

Indsættelse af afkrydsningsfeltværdier i MySQL-database med PHP

Afkrydsningsfelter bliver kun slået op, når de er afkrydset. Så hvis afkrydsningsfeltet ikke er markeret, vises det ikke i $_POST . Du bør generelt heller ikke give nogen værdier til afkrydsningsfelter. Brug i stedet navne til at skelne mellem dem.

I databasen repræsenterer jeg normalt afkrydsningsfelter med tinyints og lagre 1 for markeret og 0 for umarkeret.

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

Bemærk også, at html kræver, at id'er er unikke. Så du kan ikke have flere elementer med samme id. Og du bør rense dine input for at forhindre sql-injektion. Brug mysql_real_escape_string() på brugerinput, der går i databasen.

Opdater

Hovedproblemet er, at forespørgslen mangler en ') ' på sidste linje. Forespørgslen skal se sådan ud

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

Bemærk den afsluttende ') ' på den sidste linje i forespørgslen. Bemærk også, at oprettelse af forespørgslen som denne, i en variabel, giver dig mulighed for at udlæse den oprettede forespørgsel, så du kan se, hvad der præcist sendes til MySQL, og du kan også teste din forespørgsel i et andet miljø (f.eks. i phpmyadmin eller enhver anden databaseadministration værktøj).




  1. Kan ikke installere pg gem på Mountain Lion

  2. Hvor er det mest sikre sted at placere MySQL-forbindelsesoplysninger til PHP

  3. Sådan vælger du ældste dato fra MySQL

  4. MariaDB JSON_DETAILED() Forklaret