在 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()
失败并且 $stmt
是 false
,而不是 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')
";
$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()
失败并且 $stmt
是 false
,而不是 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')
";