Я пытаюсь добавить записи в базу данных из простой html-формы, которую я создал. Я продолжаю получать эту ошибку:Добавление записей в базу данных из html-формы
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
соединение успешно, но что-то не так с SQL заявление, и я не смог обнаружить ошибку.
Это форма
<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"/>
Это соединительном
<?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';
реализация
<?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());
}
Вы упускаете кавычки '$ nationality' и ваша страница ошеломляюще уязвимы для атак SQL инъекций. Прекратите использовать функции mysql_ * и сделайте себе одолжение, научившись использовать подготовленные заявления с PDO. –