sql >> Database >  >> RDS >> Mysql

Formulier niet opslaan in database

Ten eerste, hoewel ik deze suggesties over het algemeen verafschuw, heb je overwogen om een ​​Google-document te gebruiken met een formulier-front-end? Ze zijn een supereenvoudige manier voor niet-ontwikkelaars om gegevens van mensen te krijgen en deze in een spreadsheet te laten aankomen.

Afgezien daarvan, ik neem aan dat u een primaire sleutel voor automatisch verhogen gebruikt, zou ik kunnen voorstellen uw zoekopdracht te wijzigen in:

if(mysql_query("INSERT INTO basicInfo VALUES(null, '{$_POST['first]}', '{$_POST['last']}', '{$_POST['email']}', '{$_POST['attendant']}', '$org', $time, 0, '', 1)"))
    {

Ik heb je '' in een null veranderd, omdat je wilt dat de DB daar invoegt wat het wil. Ik heb ook de manier veranderd waarop je associatieve arrays in de string opneemt in een manier die PHP over het algemeen gelukkiger maakt.

Voor het opschonen van de $_POST-array, zoiets als

$expected = array('first', 'last', 'expected', 'attendant');
foreach($expected as $k)
{
  $p[$k] = clean($_POST[$k]);
}
//then changing the query to use $p rather than $_POST, clearly. 

verder zou ik je, zoals anderen hebben gesuggereerd, ten zeerste aanbevelen om mysql_real_escape_string() te gebruiken in plaats van een soort addlashes() combo.

De resultaten van SHOW CREATE TABLE basicInfo; of eventuele fouten helpen bij MySQL-problemen.



  1. Voeg unieke reeksen van 8 willekeurige tekens in

  2. Batch invoegen met native SQL in Hibernate

  3. Hoe maak je een unieke willekeurige integer-ID voor de primaire sleutel voor een tabel?

  4. Topbronnen voor leren en trainen van PostgreSQL