我正在编写一些PHP脚本来将学生信息添加到学生数据库中。 以下是将学生信息添加到数据库的代码。
<html>
<head>
<title>Add Student</title>
</head>
<body>
<?php
if(isset($_POST['submit'])){
$data_missing = array();
if(empty($_POST['first_name'])){
// Adds name to array
$data_missing[] = 'First Name';
} else {
// Trim white space from the name and store the name
$f_name = trim($_POST['first_name']);
}
if(empty($_POST['last_name'])){
// Adds name to array
$data_missing[] = 'Last Name';
} else{
// Trim white space from the name and store the name
$l_name = trim($_POST['last_name']);
}
if(empty($_POST['email'])){
// Adds name to array
$data_missing[] = 'Email';
} else {
// Trim white space from the name and store the name
$email = trim($_POST['email']);
}
if(empty($_POST['street'])){
// Adds name to array
$data_missing[] = 'Street';
} else {
// Trim white space from the name and store the name
$street = trim($_POST['street']);
}
if(empty($_POST['city'])){
// Adds name to array
$data_missing[] = 'City';
} else {
// Trim white space from the name and store the name
$city = trim($_POST['city']);
}
if(empty($_POST['state'])){
// Adds name to array
$data_missing[] = 'State';
} else {
// Trim white space from the name and store the name
$state = trim($_POST['state']);
}
if(empty($_POST['zip'])){
// Adds name to array
$data_missing[] = 'Zip Code';
} else {
// Trim white space from the name and store the name
$zip = trim($_POST['zip']);
}
if(empty($_POST['phone'])){
// Adds name to array
$data_missing[] = 'Phone Number';
} else {
// Trim white space from the name and store the name
$phone = trim($_POST['phone']);
}
if(empty($_POST['birth_date'])){
// Adds name to array
$data_missing[] = 'Birth Date';
} else {
// Trim white space from the name and store the name
$b_date = trim($_POST['birth_date']);
}
if(empty($_POST['sex'])){
// Adds name to array
$data_missing[] = 'Sex';
} else {
// Trim white space from the name and store the name
$sex = trim($_POST['sex']);
}
if(empty($_POST['lunch'])){
// Adds name to array
$data_missing[] = 'Lunch Cost';
} else {
// Trim white space from the name and store the name
$lunch = trim($_POST['lunch']);
}
if(empty($data_missing)){
require_once('mysqli_connect.php');
$query = "INSERT INTO students (first_name, last_name, email,
street, city, state, zip, phone, birth_date, sex,
lunch_cost) VALUES (?, ?, ?,
?, ?, ?, ?, ?, ?, ?,?)";
$stmt = mysqli_prepare($dbc, $query);
mysqli_stmt_bind_param($stmt, "sssssssissd", $f_name,$l_name, $email, $street, $city,$state, $zip, $phone, $b_date,$sex, $lunch);
mysqli_stmt_execute($stmt);
$affected_rows = mysqli_stmt_affected_rows($stmt);
if($affected_rows == 1){
echo 'Student Entered';
mysqli_stmt_close($stmt);
mysqli_close($dbc);
} else {
echo 'Error Occurred<br />';
echo mysqli_error();
mysqli_stmt_close($stmt);
mysqli_close($dbc);
}
} else {
echo 'You need to enter the following data<br />';
foreach($data_missing as $missing){
echo "$missing<br />";
}
}
}
?>
当我运行程序时,我收到以下消息:
警告:mysqli_stmt_bind_param()要求参数1为mysqli_stmt,第157行的C:\ xampp \ htdocs \ studentadded.php中给出布尔值
警告:mysqli_stmt_execute()要求参数1为mysqli_stmt,第159行的C:\ xampp \ htdocs \ studentadded.php中给出布尔值
警告:mysqli_stmt_affected_rows()要求参数1为mysqli_stmt,在第161行的C:\ xampp \ htdocs \ studentadded.php中给出布尔值 发生错误
警告:mysqli_error()预计在第174行的C:\ xampp \ htdocs \ studentadded.php中只有1个参数,0
警告:mysqli_stmt_close()期望参数1为mysqli_stmt,第176行的C:\ xampp \ htdocs \ studentadded.php中给出布尔值
mysqli_connect.php:
<?php
$servername = "localhost";
$username = "studentweb";
$password = "turtleneck";
$database = "test3";
$dbc = @mysqli_connect($servername, $username, $password, $database);
if (!$dbc) {
die("Connection failed: " . mysqli_connect_error());
}
echo " Connected Successfully";
?>
当我在phpmyadmin中检查我的数据库时,它还没有使用输入的数据进行更新。
请帮忙。
答案 0 :(得分:0)
在这看来你有更多的参数
mysqli_stmt_bind_param($stmt, "sssssssissd", $f_name,$l_name, $email, $street, $city,$state, $zip, $phone, $b_date,$sex, $lunch);
尝试
mysqli_stmt_bind_param($stmt, $f_name,$l_name, $email, $street, $city,$state, $zip, $phone, $b_date,$sex, $lunch);