Ich versuche, Datensätze aus einem einfachen HTML-Formular, das ich erstellt habe, in eine Datenbank einzufügen. Ich halte diesen Fehler auf immer:Hinzufügen von Datensätzen aus einem HTML-Formular in eine Datenbank
connected succesfullyError: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
die Verbindung erfolgreich ist, aber etwas stimmt nicht mit der SQL-Anweisung, und ich habe nicht in der Lage gewesen, den Fehler zu erkennen.
Dies ist die Form
<form action="addplayer.php"method "post"/>
<p> id: <input type="text" name="playerid"/></p>
<p> Name: <input type="text" name="name"/></p>
<p> Age: <input type="text" name="age"/></p>
<p> Position: <input type="text" name="position"/></p>
<p> Nationality: <input type="text" name="nationality"/></p>
<input type="submit" value="submit"/>
diesem Zusammenhang die Verbindung
<?php
define('DB_NAME', 'syokimaufc');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die ('could not connect: '. mysql_error());
}
$db_selected= mysql_select_db(DB_NAME, $link);
if (!$db_selected){
die('can\'t use' . DB_NAME .': ' . mysql_error());
}
echo 'connected successfully';
Implementierung
<?php
require 'connection.php';
$id = filter_input(INPUT_POST, 'playerid');
$name = filter_input(INPUT_POST, 'name');
$age = filter_input(INPUT_POST, 'age');
$position = filter_input(INPUT_POST, 'position');
$nationality = filter_input(INPUT_POST, 'nationality');
$sql = "INSERT INTO players (playerid,Name,Age,Position,Nationslity) VALUES ('$id','$name','$age','$position',$nationality)";
if (!mysql_query($sql)){
die('Error: ' . mysql_error());
}
Sie sind in Anführungszeichen '$ nationality' und Ihre Seite ist beschämend anfällig für SQL-Injection-Angriffe fehlt. Beenden Sie die Verwendung von mysql_ * -Funktionen und tun Sie sich einen Gefallen, indem Sie lernen, vorbereitete Anweisungen mit PDO zu verwenden –