PHP 代码使用 _POST 方法在 MySql 数据库中插入空白记录
Posted
技术标签:
【中文标题】PHP 代码使用 _POST 方法在 MySql 数据库中插入空白记录【英文标题】:PHP Code inserts Blank Records in MySql database with _POST method 【发布时间】:2013-10-16 03:43:00 【问题描述】:当使用 _POST 方法在数据库中插入数据时,php 代码会插入空白记录,但是当我使用 _GET 时一切正常。
感谢您的提前。
<?php
$con=mysqli_connect("localhost","root","*******","student");
// Check connection
if (mysqli_connect_errno())
echo "Failed to connect to MySQL: " . mysqli_connect_error();
$sql="INSERT INTO Student (textnames, fathername, mom, occu, homenum, paddress, offcontact, Course, District, State, pincode, emailid, dob, mobileno)
VALUES
('$_POST[textnames]','$_POST[fathername]','$_POST[mom]','$_POST[occu]','$_POST[homenum]','$_POST[paddress]','$_POST[offcontact]','$_POST[Course]','$_POST[District]','$_POST[State]','$_POST[pincode]','$_POST[emailid]','$_POST[dob]','$_POST[mobileno]')";
if (!mysqli_query($con,$sql))
die('Error: ' . mysqli_error($con));
echo "Successfully Added Record";
mysqli_close($con);
?>
任何建议如何避免这种情况.....
【问题讨论】:
在您的表单标签上指定method=POST
,然后使用$_POST
重试。
它有'一个好的经验法则是使用 phpinfo 检查 PHP 变量的可用性(这与您的 Web 服务器配置有关)。
尝试添加:
echo phpinfo();
exit;
就在你之前
if (!mysqli_query($con,$sql))
【讨论】:
【参考方案2】:原因是你做的帖子很可能和get不一样
'$_POST[textnames]'// is wrong
'$_POST["textnames"]'// is correct
和所有其他人一样。您必须使用引号来获取这些值而没有引号您的索引像textnames
对于GET
和POST
都是不正确的
【讨论】:
【参考方案3】:尝试将 $_POST 初始化为局部变量并使用如下查询
<?php
$a=$_POST['textname'];
$b=$_POST['fathername'];
$c=$_POST['mom'];'
$d=$_POST['occu'];
$e=$_POST['homenum'];
$f=$_POST['paddress'];
$g=$_POST['offcontact'];
$i=$_POST['Course'];
$j=$_POST['District'];
$k=$_POST['State'];
$l=$_POST['pincode'];
$m=$_POST['emailid'];
$o=$_POST['dob'];
$p=$_POST['mobileno']
$con=mysqli_connect("localhost","root","*******","student");
// Check connection
if (mysqli_connect_errno())
echo "Failed to connect to MySQL: " . mysqli_connect_error();
$sql="INSERT INTO Student (textnames, fathername, mom, occu, homenum, paddress, offcontact, Course, District, State, pincode, emailid, dob, mobileno) VALUES('$a','$b','$c','$d','$e','$f','$g','$i','$j','$k','$l','$m','$o','$p')";
if (!mysqli_query($con,$sql))
die('Error: ' . mysqli_error($con));
echo "Successfully Added Record";
mysqli_close($con);
?>
【讨论】:
不要忘记添加 【参考方案4】:首先检查你的表单是否发送值
if(isset($_POST["submit"]))
Your insert query here
also in form try using following code
<form methode = "POST" action = "">
</form>
【讨论】:
我已经检查过它是否对我有用,如果您没有提交按钮,请尝试在帖子中使用一些不同的值,例如if(isset($_POST["textnames"])) 还尝试使用双引号插入值,例如。 $_POST["testnames"]【参考方案5】:它适用于 _REQUEST 我认为它会做
<?php
$con=mysqli_connect("localhost","root","********","student");
// Check connection
if (mysqli_connect_errno())
echo "Failed to connect to MySQL: " . mysqli_connect_error();
$sql="INSERT INTO Student (textnames, fathername, mom, occu, homenum, paddress, offcontact, Course, District, State, pincode, emailid, dob, mobileno)
VALUES
('$_REQUEST[textnames]','$_REQUEST[fathername]','$_REQUEST[mom]','$_REQUEST[occu]','$_REQUEST[homenum]','$_REQUEST[paddress]','$_REQUEST[offcontact]','$_REQUEST[Course]','$_REQUEST[District]','$_REQUEST[State]','$_REQUEST[pincode]','$_REQUEST[emailid]','$_REQUEST[dob]','$_REQUEST[mobileno]')";
if (!mysqli_query($con,$sql))
die('Error: ' . mysqli_error($con));
echo "Successfully Added Record";
mysqli_close($con);
?>
【讨论】:
【参考方案6】:您可以像这样更改您的代码。关键是您在访问 post 变量时错过了单引号。
<?php
$con=mysqli_connect("localhost","root","*******","student");
// Check connection
if (mysqli_connect_errno())
echo "Failed to connect to MySQL: " . mysqli_connect_error();
$sql="INSERT INTO Student (textnames, fathername, mom, occu, homenum, paddress, offcontact, Course, District, State, pincode, emailid, dob, mobileno)
VALUES
('".$_POST['textnames']."','".$_POST['fathername']."','".$_POST['mom']."','".$_POST['occu']."','".$_POST['homenum']."','".$_POST['paddress']."','".$_POST['offcontact']."','".$_POST['Course']."','".$_POST['District']."','".$_POST['State']."','".$_POST['pincode']."','".$_POST['emailid']."','".$_POST['dob']."','".$_POST['mobileno']."')";
if (!mysqli_query($con,$sql))
die('Error: ' . mysqli_error($con));
echo "Successfully Added Record";
mysqli_close($con);
?>
【讨论】:
以上是关于PHP 代码使用 _POST 方法在 MySql 数据库中插入空白记录的主要内容,如果未能解决你的问题,请参考以下文章
PHP 使用$_POST[''] 取不到值,自己刚开始自学,求大神赐教!