【问题标题】:Call to a member function bind_param() on a non-object in C:\wamp\www\在 C:\wamp\www\ 中的非对象上调用成员函数 bind_param()
【发布时间】:2016-06-14 12:28:56
【问题描述】:
$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 失败了。检查那里的错误,php.net/manual/en/mysqli.error.php
  • 那我现在应该怎么改sql语句或者别的什么?
  • 您可能必须同时使用这两种方法。使用错误函数来查看问题所在。

标签: php calendar jscript


【解决方案1】:

另一个问题是一些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')
";

【讨论】:

    【解决方案2】:

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

    如果数据库服务器成功准备语句,PDO::prepare() 返回一个 PDOStatement 对象。如果数据库服务器无法成功准备语句,则 PDO::prepare() 返回 FALSE 或发出 PDOException(取决于错误处理)。

    来自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

    【讨论】:

    • 这是mysqli,不是PDO(或者OP使用了错误的驱动函数)。
    猜你喜欢
    • 2015-02-02
    • 2014-06-19
    • 1970-01-01
    • 2011-05-28
    • 2015-10-24
    • 2013-09-26
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多