Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Formular wird nicht in Datenbank gespeichert

Erstens, obwohl ich diese Vorschläge im Allgemeinen verabscheue, haben Sie darüber nachgedacht, ein Google-Dokument mit einem Formular-Frontend zu verwenden? Sie sind eine sehr einfache Möglichkeit für Nicht-Entwickler, Daten von Personen zu erhalten und sie in einer Tabelle ankommen zu lassen.

Abgesehen davon gehe ich davon aus, dass Sie einen Primärschlüssel mit automatischer Erhöhung verwenden. Könnte ich vorschlagen, Ihre Abfrage zu ändern in:

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

Ich habe Ihr '' in eine Null geändert, da Sie möchten, dass die DB dort einfügt, was sie möchte. Ich habe auch die Art und Weise geändert, wie Sie assoziative Arrays in den String einfügen, sodass PHP im Allgemeinen zufriedener ist.

Zum Bereinigen des $_POST-Arrays etwas wie

$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. 

Danach würde ich, wie andere vorgeschlagen haben, dringend empfehlen, mysql_real_escape_string() zu verwenden eher als eine Art Addslashes ()-Kombination.

Posten der Ergebnisse von SHOW CREATE TABLE basicInfo; oder Fehler helfen bei MySQL-Problemen.