SQL 구문에 오류가 있습니다. 사용 중인 MariaDB 서버 버전에 해당하는 설명서에서 nea를 사용하는 올바른 구문을 확인하십시오.
이 에러가 표시된다//ERROR
ERRORINSERT INTO new_comp_reg (phno , fullname , address , dept , desc) VALUES ('','','','','') You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'desc) VALUES ('','','' ,'','')' at line 1
PHP
<?php
$servername = 'mysql.hostinger.in';
$username = '';
$password = '';
$dbname = 'u424351292_icrcm';
if(isset($_POST['submit']))
{
$phone_no = $_POST['phno'];
$full_name = $_POST['fullname'];
$location = $_POST['address'];
$department = $_POST['dept'];
$description = $_POST['desc'];
}
$conn = new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error)
{
die("Connection Failed" . $conn->connect_error);
}
$sql = "INSERT INTO new_comp_reg (phno , fullname , address , dept , desc) VALUES ('$phone_no' , '$full_name' , '$location' , '$department' , '$description')";
if($conn->query($sql) === TRUE)
{
echo "Complaint Registered";
}
else
{
echo "ERROR".$sql."<br>".$conn->error;
}
$conn->close();
?>
//에러
ERRORINSERT INTO new_comp_reg (phno , fullname , address , dept , desc) VALUES ('','','','','') You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'desc) VALUES ('','','' ,'','')' at line 1
desc
는 MySQL에서 예약된 키워드이며 백틱으로 이스케이프해야 합니다.
INSERT INTO new_comp_reg (..., `desc`) VALUES (...)
또는 열 이름을 다음과 같이 변경합니다.description
예를 들어.
그런데 구문 오류 및 SQL 주입을 초래할 수 있는 사용자 입력을 피할 수 없습니다.준비 스테이트먼트를 사용합니다.
if(isset($_POST['submit']))
{
$phone_no = $_POST['phno'];
$full_name = $_POST['fullname'];
$location = $_POST['address'];
$department = $_POST['dept'];
$description = $_POST['desc'];
}
$conn = new mysqli($servername,$username,$password,$dbname);
if($conn->connect_error)
{
die("Connection Failed" . $conn->connect_error);
}
$sql = "INSERT INTO new_comp_reg VALUES ('$phone_no' , '$full_name' , '$location' , '$department' , '$description')";
if($conn->query($sql) === TRUE)
{
echo "Complaint Registered";`enter code here`
}
else
{
echo "ERROR".$sql."<br>".$conn->error;
}
$conn->close();
?>
라고 말할 수 있을 것 같아요
$sql = "INSERT INTO new_comp_reg (phno , fullname , address , dept , desc) VALUES ('".mysql_real_escape_string($phone_no)."' , '".mysql_real_escape_string($full_name)"' , '".mysql_real_escape_string($location)"' , '".mysql_real_escape_string($department)"' , '".mysql_real_escape_string($description)"')";
이렇게 하면 실제로 보호가 향상됩니다.또한 열 이름을 확인하세요. 참조가 잘못되었을 수 있습니다.
언급URL : https://stackoverflow.com/questions/34321222/you-have-an-error-in-your-sql-syntax-check-the-manual-that-corresponds-to-your
'source' 카테고리의 다른 글
/usr/libexec/java_home에서 반환된 Mac OS의 기본 Java VM을 변경하는 방법 (0) | 2022.09.17 |
---|---|
서버가 비활성 시간대를 반환했습니다.Advanced 탭으로 이동하여 servertimezone 속성을 수동으로 설정합니다. (0) | 2022.09.17 |
어플리케이션/x-javascript와 텍스트/javascript 콘텐츠 타입의 차이 (0) | 2022.09.17 |
isset() 및 empty() - 사용할 내용 (0) | 2022.09.17 |
MariaDB 키 관리 옵션 (0) | 2022.09.17 |