【问题标题】:prepared statement causes non-object error [duplicate]准备好的语句导致非对象错误[重复]
【发布时间】:2013-12-17 11:47:23
【问题描述】:

使用这个插入脚本:

$stmt = $mysqli->prepare("INSERT INTO table VALUES (?)");
$stmt->bind_param('s', $value); // echoing $value: 120.120
$stmt->execute();
$stmt->close();
$mysqli->close();

我收到此错误:

 Call to a member function bind_param() on a non-object 

我已经尝试过“s”、“d”和“i”,但都没有用,有人可以帮助我吗?问候!

【问题讨论】:

  • 请使用本站的搜索功能
  • 这个问题似乎是题外话,因为它是关于主题已经回答了很多。
  • “我已经试过了..”不,你没有!

标签: php exception insert mysqli


【解决方案1】:

出现问题一般是因为

$mysqli->prepare("INSERT INTO table VALUES (?)");

不返回一个对象,这意味着 prepare() 未能应用您的定义。

当实际的 SQL 表实际上没有我想要写入的字段时,我曾经看到 bind_param 非对象错误。请将您的查询与您的实际 SQL 表进行比较,看看您尝试使用的所有字段是否实际上都是该表的一部分。还要确保表名正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 2010-10-05
    • 2021-06-24
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多