无法使用PHP的html表单将数据插入到我的数据库中

问题描述 投票:0回答:2

所以我是PHP和SQL的新手,我正在做一个家庭作业。出于某种原因,我可以让PHP连接到数据库但是一旦我解除了包含SQL“INSERT INTO”语句的代码,我就会收到错误。据我所知,我的所有变量都是正确的,语法是正确的。如果你能提供帮助,请告诉我!

这适用于运行MySQL 5,PHP 5的Linux服务器

HTML

<html>
<body>
<form action="insertartist.php" method="post">
Artist First Name: <input type="text" name= “form_fname” required><br>
Artist Last Name: <input type= "text" name= “form_lname"><br>
Artist Date of Birth: <input type= "date" name= “form_dob"><br>
Artist Gender: <select name = "form-gender">
    <option value = "male">Male</option>
    <option value = "female">Female</option>
</select><br>
<input type="submit" value ="Insert Artist" ></br>
</form>
</body>
</html>

PHP

<?php

$con=mysqli_connect("server","username","password", "database");

// Check connection

if (!$con)
{die("Failed to connect to MySQL: " . mysqli_connect_error() ); }

else{ echo "Established Database Connection" ;}

//grab POST data

$var_fname = mysqli_real_escape_string($con, $_POST['form-fname']);
$var_lname = mysqli_real_escape_string($con, $_POST['form-lname']);
$var_dob = mysqli_real_escape_string($con, $_POST['form-dob']);
$var_gender = mysqli_real_escape_string($con, $_POST['form-gender']);


$sql = "INSERT INTO artist(fname, lname, dob, gender)
VALUES('$var_fname', '$var_lname', '$var_dob', '$var_gender')";

if(!mysqli_query($con, $sql))
{die('Error' . mysqli_error($con));}
else{echo "<br>1 record added");  
?>

它应该说“添加了1条记录”并将数据添加到我的数据库中

相反,我在HTML页面上点击提交时收到错误500。

注意:服务器,用户名,传递,db都是正确的 - 当我阻止sql查询然后我收到一条消息说我已成功连接到服务器

php html
2个回答
0
投票

PHP

// Check connection
$con=mysqli_connect("server", "un", "pass", "db");

if (!$con) {
    die("Failed to connect to MySQL: " . mysqli_connect_error() ); 
} else {
    echo "Established Database Connection" ;
}

// grab POST data

$var_fname = mysqli_real_escape_string($con, $_POST['form_fname']);
$var_lname = mysqli_real_escape_string($con, $_POST['form_lname']);
$var_dob = mysqli_real_escape_string($con, $_POST['form_dob']);
$var_gender = mysqli_real_escape_string($con, $_POST['form_gender']);


$sql = "INSERT INTO artist(fname, lname, dob, gender)
VALUES('$var_fname', '$var_lname', '$var_dob', '$var_gender')";

if(!mysqli_query($con, $sql)) {
    die('Error' . mysqli_error($con));
} else {
    echo "<br>1 record added");  
}
?>

HTML

<html>
<body>
<form action="insertartist.php" method="post">
Artist First Name: <input type="text" name= "form_fname" required><br>
Artist Last Name: <input type= "text" name= "form_lname"><br>
Artist Date of Birth: <input type= "date" name= "form_dob"><br>
Artist Gender: <select name = "form_gender">
    <option value = "male">Male</option>
    <option value = "female">Female</option>
</select><br>
<input type="submit" value ="Insert Artist" ></br>
</form>
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.