这是我的代码片段数据必须插入数据库,但每次我提交表单时,只在每列中插入值1
if(isset($_POST['submit'])) {
$con=mysql_connect("localhost","root","");
if($con) {
mysql_select_db("college",$con);
} else {
echo "Connection is not Est"."<br>";
}
$first_name=isset($_POST['first_name']);
$middle_name=isset($_POST['middle_name']);
$last_name=isset($_POST['last_name']);
$email_id=isset($_POST['email_id']);
$mobile_no=isset($_POST['mobile_no']);
// if($first_name!=""){
$qry=mysql_query("insert into stud_master(fname,mname,lname,mobile_no,email_id) values ('$first_name','$middle_name','$last_name','$mobile_no','$email_id')");
// mysql_query("$qry);
//}
echo "success";
} else {
echo "there is problem with query";
}
任何帮助将不胜感激......
答案 0 :(得分:3)
你的问题在于这一部分:
$first_name=isset($_POST['first_name']);
$middle_name=isset($_POST['middle_name']);
$last_name=isset($_POST['last_name']);
$email_id=isset($_POST['email_id']);
$mobile_no=isset($_POST['mobile_no']);
isset
是一个返回1的函数,如果已经初始化/设置了变量,则返回true,这就是原因。因此,您的解决方案是删除isset
函数调用。
但是,如果你仍然想在检查变量之前检查post
变量是否已设置,我建议使用一个三元if语句,它在一行中实现了这一点并且看起来很整洁:
$first_name= (isset($_POST['first_name'])) ? $_POST['first_name'] : "";
$middle_name= (isset($_POST['middle_name'])) ? $_POST['middle_name'] : "";
//...
首先检查post
变量是否已设置,如果是,则将其分配给变量。如果未设置,将为变量分配一个空字符串。
答案 1 :(得分:0)
您在每个POST参数上调用isset
,这将根据参数是否设置返回true或false。删除isset
来电,您的代码就可以使用。
答案 2 :(得分:0)
你应该改变这个:
$first_name=isset($_POST['first_name']);
$middle_name=isset($_POST['middle_name']);
$last_name=isset($_POST['last_name']);
$email_id=isset($_POST['email_id']);
$mobile_no=isset($_POST['mobile_no']);
为:
$first_name=$_POST['first_name'];
$middle_name=$_POST['middle_name'];
$last_name=$_POST['last_name'];
$email_id=$_POST['email_id'];
$mobile_no=$_POST['mobile_no'];
答案 3 :(得分:0)
请删除isset()
功能,因为它会在值到来时返回1
。
答案 4 :(得分:0)
Isset返回布尔值0 0r 1.这就是每次真实时得到1的原因。从变量中删除isset只需使用
$first_name=$_POST['first_name'];
$middle_name=$_POST['middle_name'];
$last_name=$_POST['last_name'];
$email_id=$_POST['email_id'];
$mobile_no=$_POST['mobile_no'];
答案 5 :(得分:0)
使用此
<?php
if(isset($_POST['submit'])) {
$con=mysql_connect("localhost","root","");
if(!$con)
{
echo "Connection is not Est"."<br>";
}
else
{
mysql_select_db("college",$con);
$first_name = $_POST['first_name'];
$middle_name = $_POST['middle_name'];
$last_name = $_POST['last_name'];
$email_id = $_POST['email_id'];
$mobile_no = $_POST['mobile_no'];
if( $qry=mysql_query("insert into stud_master(fname,mname,lname,mobile_no,email_id) values ('$first_name','$middle_name','$last_name','$mobile_no','$email_id')"){
echo "success";
}
else{
echo "there is problem with query";
}
}
?>
一些注意事项: 1.切换到mysqli而不是使用已弃用的mysql 你的代码本身并不安全。有人可能会损害您的数据库,因为您的值未被转义。
那就是说,上面的代码应该有效。