繁体   English   中英

html表单将数据输入到mysql数据库中

[英]html form to input data into mysql database

我试图在提交后获取我的html表单,然后将数据保存到mysql数据库中。 然而,一旦我点击提交按钮,它只需要我浏览器中显示的PHP代码。

它为什么这样做?

我在我的环境中使用XAMP,当我检查数据库时也没有添加任何数据。

任何帮助将不胜感激。

//html form
<div id="contact_form">
<form action="contact_insert.php"     method="post">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="surname">
Email: <input type="text" name="email">
<input type="submit">
</form>
</div> 


//php contact_insert.php page
<?php

$username="root";
$password="password";
$server="127.0.0.1";
$database="eddiesdb";

$con = mysql_connect($server,$username,$password);
// Check connection
if (mysql_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO customer (FirstName, Surname, EmailAddress)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[email]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
    echo "1 record added";

mysqli_close($con);

?> 

你可以使用这段代码..不要使用mysql和mysqli组合。

  <div id="contact_form">
    <form action="contact_insert.php" method="post">
    Firstname: <input type="text" name="firstname">
    Lastname: <input type="text" name="surname">
    Email: <input type="text" name="email">
    <input type="submit" name="submit">
    </form>
    </div> 

<?php
    if(isset($_POST['submit']))
{
$username="root";
$password="password";
$server="127.0.0.1";
$database="eddiesdb";

$con = mysql_connect($server,$username,$password);

$sql="INSERT INTO customer (FirstName, Surname, EmailAddress)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[email]')";
$a=mysql_query($sql);

if (!$a)
  {
 echo mysql_error();
  }
else
{
    echo "1 record added";
}
mysql_close($con);
}
?> 

确保您的文件扩展名为.php

确保已将PHP代码放在<?php ... ?>标记中。

你的脚本:

$con = mysql_connect($server,$username,$password);
// Check connection
if (mysql_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO customer (FirstName, Surname, EmailAddress)
VALUES
('$_POST[firstname]','$_POST[surname]','$_POST[email]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
    echo "1 record added";

mysqli_close($con);

你写了if (!mysqli_query($con,$sql))但在$con ,你使用的是mysql_connect ,而不是mysqli_connect

所以,它将是:

if (!mysql_query($con,$sql)) {
      die('Error: ' . mysql_error($con));
}
        echo "1 record added";

    mysql_close($con);

你像这样创建了MySql的对象

$con = mysql_connect($server,$username,$password);

你在下面使用mysqli_qurey就像

if (!mysqli_query($con,$sql))

怎么可能?

您对本地数据库的密码必须为空,您应该将xammp(form.html和contact_insert.php)中的htdocs文件保存在同一文件夹中。

你的脚本

<?php

$username="root";
$password="password";
$server="127.0.0.1";
$database="dbname";

$con = mysql_connect($server,$username,$password);
mysql_select_db("dbname");
// Check connection
if (mysql_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$fname = $_POST['firstname'];
$sname = $_POST['surname'];
$email = $_POST['email'];

$sql="INSERT INTO customer (FirstName, Surname, EmailAddress) VALUES ('".$fname."','".$sname."','".$email."')";

if (!mysql_query($con,$sql)){
  die('Error: ' . mysql_error($con));
}
echo "1 record added";

mysql_close($con);

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM