这是我使用的代码。这里我使用一个表单来获取数据并更新数据库。请告诉我错误是什么。我正在使用wamp服务器。
$con=mysqli_connect("localhost","root","","placement");
if(mysqli_connect_errno())
{
echo".mysqli_connect_error()";
}
$grad="";
if(isset($_POST['Grad']))
foreach($_POST['Grad'] as $checkgrad){
$grad=$grad.$checkgrad;
}
$dept="";
foreach($_POST['Dept'] as $checkdept)
if(isset($_POST['Dept'])){
$dept=$dept.$checkdept;
}
$arr=$_POST['arr'] ;
if (($grad != "UR")&&($arr == "wa")){
mysqli_query($con,"Update placementdetails set Location='$_POST[location]',
Eligibility='$grad',Arrears='$_POST[arr]',No_of_arrears='$_POST[Arrno].,Department='$dept',
Current_cgpa='$_POST[cgpa]',Marks_10th='$_POST[tenth]',Marks_12th='$_POST[twelveth]',
Marks_Btech='$_POST[Btech]',Emoluments='$_POST[emoluments]',Placement_Process='$_POST[process]',
Pldate='$_POST[dat]',Pltime='$_POST[tim]' where Company_name='$_POST[company]')");
}
else if (($grad == "UR")&&($arr == "wa")){
mysqli_query($con,"Update placementdetails set Location='$_POST[location]',
Eligibility='$grad',Arrears='$_POST[arr]',No_of_arrears='$_POST[Arrno]',Department='$dept',
Current_cgpa='$_POST[cgpa]',Marks_10th='$_POST[tenth]',Marks_12th='$_POST[twelveth]',
Marks_Btech=' ',Emoluments='$_POST[emoluments]',Placement_Process='$_POST[process]',
Pldate='$_POST[dat]',Pltime='$_POST[tim]' where Company_name='$_POST[company]')");
}
else if (($grad != "UR")&&($arr != "wa")){
mysqli_query($con,"Update placementdetails set Location='$_POST[location]',
Eligibility='$grad',Arrears='$_POST[arr]',No_of_arrears='$_POST[Arrno]',Department='$dept',
Current_cgpa='$_POST[cgpa]',Marks_10th='$_POST[tenth]',Marks_12th='$_POST[twelveth]',
Marks_Btech='$_POST[Btech]',Emoluments='$_POST[emoluments]',Placement_Process='$_POST[process]',
Pldate='$_POST[dat]',Pltime='$_POST[tim]' where Company_name='$_POST[company]')");
}
else{
mysqli_query($con,"Update placementdetails set Location='$_POST[location]',
Eligibility='$grad',Arrears='$_POST[arr]',No_of_arrears='$_POST[Arrno]',Department='$dept',
Current_cgpa='$_POST[cgpa]',Marks_10th='$_POST[tenth]',Marks_12th='$_POST[twelveth]',
Marks_Btech=' ',Emoluments='$_POST[emoluments]',Placement_Process='$_POST[process]',
Pldate='$_POST[dat]',Pltime='$_POST[tim]' where Company_name='$_POST[company]')");
}
即使没有错误,它也不起作用,但下面给出的类似插入代码可以完美地工作:
$con=mysqli_connect("localhost","root","","placement");
if(mysqli_connect_errno())
{
echo".mysqli_connect_error()";
}
$grad="";
if(isset($_POST['Grad']))
foreach($_POST['Grad'] as $checkgrad){
$grad=$grad.$checkgrad;
}
$dept="";
foreach($_POST['Dept'] as $checkdept)
if(isset($_POST['Dept'])){
$dept=$dept.$checkdept;
}
$arr=$_POST['arr'] ;
if (($grad != "UR")&&($arr == "wa")){
mysqli_query($con,"Insert into Placementdetails (Company_name,Location,Eligibility,
Arrears,No_of_arrears,Department,Current_cgpa,Marks_10th,Marks_12th,Marks_Btech,
Emoluments,Placement_Process,Pldate,Pltime)
values('$_POST[company]','$_POST[location]','$grad','$_POST[arr]',
$_POST[Arrno],'$dept','$_POST[cgpa]','$_POST[tenth]','$_POST[twelveth]',
'$_POST[Btech]','$_POST[emoluments]','$_POST[process]','$_POST[dat]','$_POST[tim]')");
}
else if (($grad == "UR")&&($arr == "wa")){
mysqli_query($con,"Insert into Placementdetails (Company_name,Location,Eligibility,
Arrears,No_of_arrears,Department,Current_cgpa,Marks_10th,Marks_12th,Marks_Btech,
Emoluments,Placement_Process,Pldate,Pltime)
values('$_POST[company]','$_POST[location]','$grad','$_POST[arr]',
$_POST[Arrno],'$dept','$_POST[cgpa]','$_POST[tenth]','$_POST[twelveth]',
'null','$_POST[emoluments]','$_POST[process]','$_POST[dat]','$_POST[tim]')");
}
else if (($grad != "UR")&&($arr != "wa")){
mysqli_query($con,"Insert into Placementdetails (Company_name,Location,Eligibility,
Arrears,No_of_arrears,Department,Current_cgpa,Marks_10th,Marks_12th,Marks_Btech,
Emoluments,Placement_Process,Pldate,Pltime)
values('$_POST[company]','$_POST[location]','$grad','$_POST[arr]','null','$dept',
'$_POST[cgpa]','$_POST[tenth]','$_POST[twelveth]','$_POST[Btech]','$_POST[emoluments]',
'$_POST[process]','$_POST[dat]','$_POST[tim]')");
}
else{
mysqli_query($con,"Insert into Placementdetails (Company_name,Location,Eligibility,
Arrears,No_of_arrears,Department,Current_cgpa,Marks_10th,Marks_12th,Marks_Btech,
Emoluments,Placement_Process,Pldate,Pltime)
values('$_POST[company]','$_POST[location]','$grad','$_POST[arr]','null','$dept',
'$_POST[cgpa]','$_POST[tenth]','$_POST[twelveth]','null','$_POST[emoluments]',
'$_POST[process]','$_POST[dat]','$_POST[tim]')");
}
$comp = str_replace(' ', '', $_POST[company]);
db($comp);
mysqsli_close($con);
请告诉我更新代码出了什么问题。。。。。。。。。。。。。。。。。
您的查询中存在语法错误。
更改每个变量,如下所示,您缺少single quete
$_POST['location']
但你有它$_POST[location]
在查询的末尾有两个括号,);
我更新了我的答案。用你的整个查询看看在一个旁边也换
mysqli_query($con,"Insert into Placementdetails (Company_name,Location,Eligibility,
Arrears,No_of_arrears,Department,Current_cgpa,Marks_10th,Marks_12th,Marks_Btech,
Emoluments,Placement_Process,Pldate,Pltime)
values('".$_POST['company']."','".$_POST['location']."','".$grad."','".$_POST['arr']."',
'".$_POST['Arrno']."','".$dept."','".$_POST['cgpa']."','".$_POST['tenth']."',
'".$_POST['twelveth']."',
'".$_POST['Btech']."','".$_POST['emoluments']."','".$_POST['process']."','".$_POST['dat']."'
,'".$_POST['tim']."'");
下面是更新的语法
mysqli_query($con,"Update placementdetails set Location='".$_POST['location']."'
更改其他变量,如上面的
不要直接在查询中使用用户输入。
Mysqli_不会自动保护您的查询。使用绑定参数
try this
mysqli_query($con,"Update placementdetails set Location='".$_POST['location']."',
Eligibility='$grad',Arrears='".$_POST['arr']."',No_of_arrears='".$_POST['Arrno']."',Department='$dept',
Current_cgpa='".$_POST['cgpa']."',Marks_10th='".$_POST['tenth']."',Marks_12th='".$_POST['twelveth']."',
Marks_Btech='".$_POST['Btech']."',Emoluments='".$_POST['emoluments']."',Placement_Process='".$_POST['process']."',
Pldate='".$_POST['dat']."',Pltime='".$_POST['tim']."' where Company_name='".$_POST['company']."')");