这是我使用的代码。我使用表单获取数据并更新数据库。请告诉我错误是什么。我正在使用wamp Server。
$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);
请告诉我更新代码有什么问题.................
答案 0 :(得分:1)
您的查询中存在语法错误。
更改这样的每个变量,你缺少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_不会自动保护您的查询。使用bind param
答案 1 :(得分:0)
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']."')");