在 C:\wamp\www\ 中的非对象上调用成员函数 bind_param()

Call to a member function bind_param() on a non-object in C:\wamp\www\

$stmt = $this->link->prepare("SELECT name, date, start FROM bookings WHERE date LIKE  CONCAT(?, '-', ?, '%')"); //Sql query for name ,date ,start time
$this->is_slot_booked_today = 0; 
// Defaults to 0
$stmt->bind_param('ss',$year,$month);   

//this is where error is pointing line 72
$stmt->bind_result($name, $date, $start);   

还有更多代码,但我想强调一下我在这里遇到的错误。我正在创建时段预订日历。

很可能 prepare() 失败并且 $stmtfalse,而不是 PDOStatement 对象

If the database server successfully prepares the statement, PDO::prepare() returns a PDOStatement object. If the database server cannot successfully prepare the statement, PDO::prepare() returns FALSE or emits PDOException (depending on error handling).

来自http://php.net/manual/ro/pdo.prepare.php

更新:

mysqli 也一样: mysqli_prepare() returns a statement object or FALSE if an error occurred. http://php.net/manual/en/mysqli.prepare.php

另一个问题是某些 html 字段数据没有插入到 MySQL 的数据库中,代码是

$insert_query="
  insert into employee_create
  (emp_id,first_name,last_name,date_of_birth,gender,address,nationality,
   date_of_joining,pan_detail,contact_number,altcontact_number,role,
   manager_id) values('$empid','$fname','$lname','$dob','$gender','$address','$nationality','$doj','$pan','$contact','$acontact','$role','$manager')
";