我试图在我的代码中使用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>
答案 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();
?>