[英]Error: Unknown column '' in 'field list' MySQL error
I am unable to insert data. 我无法插入数据。 The error is:
错误是:
Error: Unknown column '' in 'field list'
错误:'字段列表'中的未知列''
It is simpy an HTML form page and data is taken by the user to insert in a database dB. 它是一个简单的HTML表单页面,用户可以将数据插入到数据库dB中。 Help is truly required.
真的需要帮助。 I am unable to get the error things.
我无法得到错误的东西。 I am a newbie.
我是新手。
<?php
$con=mysqli_connect("localhost", "root", "root","dB");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$enrollno=$_POST['enrollno'];
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$fathername=$_POST['fathername'];
$coursename=$_POST['coursename'];
$yearsem=$_POST['yearsem'];
$facultyno=$_POST['facultyno'];
$hostel=$_POST['hostel'];
$roomno=$_POST['roomno'];
$email=$_POST['email'];
$mobileno=$_POST['mobileno'];
$peradd=$_POST['peradd'];
$district=$_POST['district'];
$state=$_POST['state'];
$amount=$_POST['amount'];
$pwd=$_POST['pwd'];
$tnc=$_POST['tnc'];
$sql="INSERT INTO registration (enrollno, fname, lname, fathername, coursename, yearsem, facultyno, hostel, roomno, email, mobileno, peradd, district, state, amount, pwd, tnc) VALUES ('$enrollno',`$fname`,`$lname`,`$fathername`,`$coursename`,`$yearsem`,`$facultyno`,`$hostel`,`$roomno`,`$email`,`$mobileno`,`$peradd`,`$district`,`$state`,`$amount`,`$pwd`,'$tnc')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
You are using backticks[ used for columns ] for variables. 您正在使用反引号[ 用于列 ]作为变量。 Make use of single quotes.
使用单引号。 Try the below code
请尝试以下代码
$sql="INSERT INTO registration (enrollno, fname, lname, fathername, coursename, yearsem, facultyno, hostel, roomno, email, mobileno, peradd, district, state, amount, pwd, tnc) VALUES ('$enrollno','$fname','$lname','$fathername','$coursename','$yearsem','$facultyno','$hostel','$roomno','$email','$mobileno','$peradd','$district','$state','$amount','$pwd','$tnc')";
The values in the INSERT INTO
query must be enclosed with single quotes '
not backticks and not a mixture of both. INSERT INTO
查询中的值必须用单引号'
而不是反引号括起来,而不是两者的混合。 Backticks can only be used on the field and table name. 反引号只能用于字段和表名。
$sql="INSERT INTO registration (enrollno, fname, lname, fathername, coursename, yearsem, facultyno, hostel, roomno, email, mobileno, peradd, district, state, amount, pwd, tnc) VALUES ('$enrollno','$fname','$lname','$fathername','$coursename','$yearsem','$facultyno','$hostel','$roomno','$email','$mobileno','$peradd','$district','$state','$amount','$pwd','$tnc')";
Side note: your code is vulnerable to SQL Injection . 旁注:您的代码容易受到SQL注入攻击。 Consider using a Prepared Statement with bound parameters instead of concatenating user input into the query.
考虑使用带有绑定参数的Prepared语句 ,而不是将用户输入连接到查询中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.