1

我在准备好的语句中收到此错误(调用非对象上的成员函数 bind_param()),我知道这意味着 sql 语句中存在一些错误,但我根本看不到任何错误。我已经盯着这个看了一段时间,我看不到错误,我也尝试回显 sql 语句,它似乎很好。有人可以告诉我这里哪里出错了吗?

    $sql2 =
        "INSERT INTO $this->table_1 ($this->key_1, $this->key_2, $this->key_3, $this->key_4, $this->key_5)
         VALUES (?, ?, ?, ?, ?);";

    $stmt2 = $this->connection->prepare($sql2);
    $stmt2->bind_param("isssi", $1, $2, $3, $4, $5);
    $stmt2->execute();
    $stmt2->close();

谢谢

4

1 回答 1

0

终于找到了我的问题,原来我的表名“keys”是一个保留字,为了转义它我不得不使用像这样的反斜杠“keys”(忽略单词之前的第二个反引号,所以把它变成一个代码块如果只有一个反引号令人讨厌)。如果将来有人遇到此问题并且您确定您的代码是正确的,请尝试转义您的列名或表名

于 2015-05-30T11:52:20.183 回答