(PHP)致命错误:调用成员函数bind_param()

时间:2017-02-06 12:40:24

标签: php

由于某种原因,我得到了。

  

致命错误:在第19行的D:\ xampp \ htdocs \ tuitioncentre \ stud-editprofile_process.php中调用boolean上的成员函数bind_param()

我在其他进程中使用了相同的功能,但它运行正常。我对编程很陌生,任何人都可以帮助我吗?

提前谢谢!

<?php
session_start();
    $type = $_SESSION['sess_usertype'];
    if(!isset($_SESSION['sess_user_id']) || $type!="1"){
  header('Location: login.php?err=2');
   }
  include('db.php');

$data = $conn->prepare("UPDATE student INNER JOIN user ON student.student_nric=user.user_nric SET user_password = ?,
   student_name = ?, 
   student_address = ?,
   student_contactNo = ?,   
   student_fatherName = ?,
   student_fatherContactNo = ?
   student_motherName = ?,
   student_motherContactNo = ?
   WHERE student_nric = {$_SESSION['sess_user_id']}");

$data->bind_param('ssssssss',
   $_POST['user_password'],
   $_POST['student_name'],  
   $_POST['student_address'],
   $_POST['student_contactNo'],
   $_POST['student_fatherName'],
   $_POST['student_fatherContactNo'],
   $_POST['student_motherName'],
   $_POST['student_motherContactNo']);


$data->execute(); 
$data->close();
header("Location: stud-dashboard.php");
?>

1 个答案:

答案 0 :(得分:4)

根据MySQLi文档页面http://php.net/manual/en/mysqli.prepare.php,它声明:

  

mysqli_prepare()返回一个语句对象,如果有错误则返回FALSE   发生。

您的错误表示您尝试在bind_param()(FALSE)上调用函数boolean,因此您的错误表明您的准备调用中存在错误。

我建议这是因为student_fatherContactNo = ?之后缺少逗号。