Tôi khuyên bạn nên bọc toàn bộ bind_param và thực thi với điều kiện if vì câu lệnh sẽ không được chuẩn bị nếu có một vấn đề nhỏ. Trong trường hợp này, tôi đoán có thể là các kiểu cho mỗi biến / trường bị sai ở một số điểm - có thể là image
/ b
một phần.
Bạn có thể lặp lại loại của từng loại bằng cách sử dụng gettype
có thể giúp theo dõi nó:
echo gettype($first), gettype($email), gettype($phone),
gettype($school), gettype($dob), gettype($father),
gettype($feereceived), gettype($due), gettype($image);
$db = new mysqli("localhost", "root","","learndb");
if ($db->connect_error) {
die("Connection failed this is the error: " . $db->connect_error);
}
$stmt = $db->prepare("INSERT INTO studentrecords (`Name`, `email`, `Phone`, `school`,`dob`,`father`,`feereceived`,`due`,`image`) VALUES (?,?,?,?,?,?,?,?,?)");
if($stmt) {
$stmt->bind_param("ssisssiib",$first,$email,$phone,$school,$dob,$father,$feereceived,$due,$image);
$stmt->execute();
} else {
echo 'Failed to prepare the sql statement';
}