我试图用PHP访问MySQL数据库,以便用户可以输入我的数据库

时间:2015-10-20 11:21:21

标签: php mysql database input

我试图在我的代码中使用PHP来将用户输入(或至少输入它)放入我的MySQL数据库中。我的代码中也有JavaScript和HTML,但并没有很好地完成,但我现在并不担心,因为我确定以后可以修复它。

我的代码的最终目标是在文本框(HTML部分)中输入一个输入,PHP接受该输入并在我的数据库中为id,forename和surname创建一个字段。我将来会提高效率,但我现在只想让它发挥作用。

我已在实际代码中填写了服务器名称,用户名,密码和DBname。

我对HTML / JavaScript / PHP编码很陌生,所以我欢迎批评:)感谢您的帮助

这是我的代码:

<?php

$servername = "";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new MySQLi($servername, $username, $password, $dbname); // $conn =  MySQLi($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

mysql_select_db('firstdb', $con)  // $mysql_select_db('firstdb', $con)
// include_once("addFieldsHTML.php");

$u_id =$_POST['id'];
$u_forename =$_POST['forename'];
$u_surname =$_POST['surname'];

if(mysqli_query("INSERT INTO firstdb (id,forename,surname) VALUES ('$id','$forename','$surname')"))
  echo"successfully inserted";
else
  echo "failed";

$conn->close();
?>

<html>
<head>

<!-- HTML --> 

  <script>
    $("#submit").click(function(){

    $.post($("#myform").attr("action"), $("#myform:input").serializeArray(), function(info){$("#result").html(info);});
    });

    $("#myform").submit(function(){
      return false;
    });
  </script>

<body>

 <title> Input into the Datatabase </title>

  <form id="myForm" action = "AddFieldsHTML.php" method="post">
    ID: <br> <input type="text" name="ID"> <br>
    Forename: <br> <input type="text" name="Forename"> <br>
    Surname: <br> <input type="text" name="Surname"> <br>
    <button id="submit"> Save </button>
  </form>

  <span id="result"></span>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

如果您不明白,则使用查询语句中不存在的变量。

您还在混合mysqli逐步和OO技术。并且还出于某种未知原因在中间使用mysql_数据库扩展调用。

您还在为HTML-&gt; $ _ POST变量名称使用了不正确的字母大小写。

您将数据从$_POST移动到本地变量,并使用错误的名称作为$ _POST变量。

所以改变它,使用你创建的实际变量

// Create connection
$conn = new MySQLi($servername, $username, $password, $dbname); 
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// REMOVE as you are no longer using mysql_
//mysql_select_db('firstdb', $con)  // $mysql_select_db('firstdb', $con)

// Correct the leter case of $_POST variables to match the HTML name=
$u_id =$_POST['ID'];
$u_forename =$_POST['Forename'];
$u_surname =$_POST['Surname'];

// use correct variable names in query
$sql = "INSERT INTO firstdb (id,forename,surname) 
           VALUES ('$u_id','$u_forename','$u_surname')";

$result = $conn->query($sql);
if ( ! $result ) {
    echo $conn->error;
    exit;
}
echo"successfully inserted";

$conn->close();
?>