2017-02-22 3 views
0

Ich kann nicht in die Datenbank Dropdown-Menü-Variablen hochladen, wenn das Formular gesendet wird, ist der Textbereich leer. Ich bin neu in der Programmierung und alle Informationen, die ich bisher gefunden habe, konnten mir nicht helfen. Die Studenten Vor- und Nachnamen einreichen fein ich jetzt nur noch ihre Noten verarbeiten müssen<option> Werte als 0 in der Datenbank

Dies sind die Themen:

English<br> 
<select name="Grade"> 
    <option value="-">-</option> 
    <option value="A*">A*</option> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
    <option value="Fail">Fail</option> 
    </select><br> 
Maths<br> 
<select name="Grade2"> 
    <option value="-">-</option> 
    <option value="A*">A*</option> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
    <option value="Fail">Fail</option> 
    </select><br> 
Science<br> 
<select name="Grade3"> 
    <option value="-">-</option> 
    <option value="A*">A*</option> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
    <option value="Fail">Fail</option> 
    </select><br> 

ich sie hier hochladen müssen:

$DB_HOST = "localhost"; 
$DB_USERNAME = "admin"; 
$DB_PASSWORD = "chichester"; 
$DB_NAME = "results"; 

$fname = $_POST["fname"]; 
$lname = $_POST["lname"]; 
$examboard = $_POST["examboard"]; 
$grade = $_POST["grade"]; 
$grade2 = $_POST["grade2"]; 
$grade3 = $_POST["grade3"]; 
$additionalcomments = $_POST["Additional Comments"]; 

$conn = new mysqli($DB_HOST, $DB_USERNAME, $DB_PASSWORD, $DB_NAME); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "INSERT INTO studentresults (Name,lastname,examboard,additionalcomments) VALUES ('$fname','$lname','$examboard','$grade','$grade2','$grade3','$additionalcomments')"; 

$sql = "INSERT INTO studentresults (grade, grade2, grade3) VALUES ('$grade','$grade2','$grade3')"; 

if ($conn->query($sql) === TRUE) { 
echo "Student exam results have been successfully submitted. "; 
} else { 
    echo "Error, please try again later. : " . $sql . "<br>" . $conn->error; 
} 

//close connection 
$conn->close(); 

Nun, wie überwinde ich das, das Skript und die Datenbank zeigen keine Fehler an. Alles, was ich tun muss, ist eine Reihe von Untersuchungsergebnissen zu bearbeiten und diese in einer Datenbank anzuzeigen. Das Etikett scheint die Dinge verwirrt zu haben.

+0

können PHP-Fehler angezeigt werden, da sie wahrscheinlich in eine Protokolldatei geschrieben werden. Sie können die Anzeige aktivieren, indem Sie 'ini_set ('display_errors', 1) hinzufügen; ini_set ('display_startup_errors', 1); error_reporting (E_ALL); 'an die Spitze Ihres Skripts –

+1

Note! == Note – Armin

Antwort

0

1) Sie aktualisieren die Einfügeabfrage.

2) Die von Ihnen geschriebene Abfrage ist falsch, da die Anzahl der Spalten sich von der Anzahl der angegebenen Werte unterscheidet.

3) $_POST["Additional Comments"]; Dies funktioniert nicht, da der Array-Schlüssel keinen Platz enthalten kann.

+0

Wenn ich diese Änderungen vorgenommen habe, sehe ich dann die Informationen in der Datenbank? – Zed

+0

versuchen, diese zuerst zu beheben, mal sehen, was sonst noch kommt –

+0

Hinweis: Undefinierter Index: Grad in /Applications/MAMP/htdocs/Assignment/MySQL.php on line 15 Hinweis: Undefinierter Index: grade2 in/Anwendungen/MAMP/htdocs /Assignment/MySQL.php auf der Leitung 16 Hinweis: Nicht definiert Index: grade3 in /Applications/MAMP/htdocs/Assignment/MySQL.php auf der Leitung 17 Hinweis: Nicht definiert Index: additionalcomments in/Anwendungen/MAMP/htdocs/Assignment /MySQL.php auf Linie 18 – Zed

0

Warum haben Sie zwei $ SQL Insert-Anweisungen? Benutze nur eins.

INSERT INTO ___ (col1,col2) VALUES ('data1','data2'); 

Sie können keine Leerzeichen in $ _POST ['']; Variablen.

+0

Kein Grund ein Array-Index kann keine Leerzeichen haben. – miken32

Verwandte Themen