所以我是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
// 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>