2016-04-24 4 views
-2

ich die folgende Fehlermeldung erhalten:Buchungsdaten von Php-Datei zu phpMyAdmin SQL-Datenbank

Parse error: syntax error, unexpected '$query' (T_VARIABLE) in D:\XAMP\htdocs\TEST\signup.php on line 13

Irgendwelche Ideen?

<?php 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email']; 

echo "<p>You entered:</p>"; 
echo $first_name . "<br/>"; 
echo $last_name . "<br/>"; 
echo $email . "<br/>"; 

include("connect.php") 

$query = "INSERT INTO mailinglist (id, first_name, last_name, email)"; 

$result = mysqli_query($dbc, $query) or die (mysqli_error($dbc)); 

if ($result==1) { 
echo "<br/>You have been successfully added to the mailing list"; 
}else{ 
    echo "<br/>Sorry, an errored has occured."; 
} 

mysqli_close($dbc); 
?> 
+0

Es ist keine PHPMyAdmin-Datenbank. Es ist eine MySQL-Datenbank. Und Ihr Problem wird durch einen fehlenden ';' nach Ihrem 'include (" connect.php ")' verursacht. Bitte überprüfen Sie Ihren Code auf Tippfehler, bevor Sie uns bitten, es zu betrachten. "$ Query =" INSERT INTO Mailingliste (ID, Vorname, Nachname, E-Mail) ";" ist keine gültige SQL-Anweisung. Sie haben wahrscheinlich '$ id',' $ first_name' usw. gemeint. In diesem Fall sind Sie offen für [** SQL injection **] (https://www.owasp.org/index.php/SQL_Injection). –

Antwort

1

Sie fehlt ein Semikolon in der Zeile:

include("connect.php") 

include("connect.php"); // Add ; at the end 

Auch würde ich Ihnen vorschlagen, Ihre POST-Daten und die Verwendung Funktionen wie stripslahes() und trim()

Statt des Schreibens zu sanieren Diese $ _POST Daten und speichern Sie es in Variablen wieder und wieder, ich würde vorschlagen, dass Sie eine Abkürzung verwenden und extract() Funktion verwenden.

stripslashes(trim(extract($_POST))); 

und dann $ first_name, wird last_name und $ $ E-Mail automatisch an die hygienisiert POST-Daten eingestellt.

Verwandte Themen