niraj kr Ответов: 2

Есть ошибки syntex в строке 12.как ее решить


<?php
include_once('connection.php');
if(isset($_POST['submit']))
{
$name= $_POST['name'];
$email=$_POST['email'];
$add=$_POST['address'];
$adm=$_POST['admission'];
if(mysql_query("insert into student_record(name,email,address,joining_date) VALUES

('$name','$email','$add','$adm',)")
{
	echo "values has been submitted";
}
}
?>


<!DOCTYPE html>

<title>niraj php

<p>Name:<br></p>
<p>Email:<br></p>
<p>Address : <br> </p>
<p>Admission Date: <br></p>
<p>
</p>


Что я уже пробовал:

Я пытался снять фигурную скобку, но это не сработало.

2 Ответов

Рейтинг:
2

Thomas Daniels

Проблема:

if(mysql_query("insert into student_record(name,email,address,joining_date) VALUES ('$name','$email','$add','$adm',)")
{

У вас есть один ) после вашей строки, и это закрывает ( после mysql_query. Однако, ваш ( из if заявление все еще открыто, так что вам нужен еще один ) чтобы закрыть и это тоже:
if(mysql_query("insert into student_record(name,email,address,joining_date) VALUES ('$name','$email','$add','$adm',)"))
{
Кроме того, я не уверен, что эта запятая после '$adm' он должен быть там; я думаю, что вы должны удалить и это (хотя это была бы синтаксическая ошибка MySQL, а не PHP)

Кроме того, этот способ выполнения запроса очень плох. Вы просто помещаете все значения POST в свой запрос; у вас есть SQL-инъекция[^] уязвимость. Узнайте о параметризованных запросах, чтобы преодолеть это.


CPallini

5.

Рейтинг:
1

Patrice T

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь уязвимости под названием "SQL injection", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа рухнет. Если пользователь вводит имя типа "Брайан О'Коннер", это может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция-Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL Injection-руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL-OWASP[^]