【问题标题】:MYSQLI Insert into doesnt work with no errorMYSQLI插入不起作用没有错误
【发布时间】:2015-04-18 06:59:11
【问题描述】:

这是我的代码:

$stmt = $db_main->prepare("INSERT INTO `persons` (`type`, `type_id`, `user_id`) VALUES ('event_organizer', ?, ?)");         
if ($mysqli_error = mysqli_error($db_main))
    die("MYSQLI_ERROR " . $mysqli_error);
$stmt->bind_param('ii', $event_id, $user_id);

Mysql 语句

INSERT INTO `persons` 
(`type`, `type_id`, `user_id`) 
VALUES 
('event_organizer', ?, ?)

如果我运行它,我会收到错误:

Call to a member function bind_param() on a non-object in [...] on line 4. 

但我不明白为什么。表名和列名是正确的。 $event_id 和 $user_id 已设置(24 和 25)。连接工作正常,之前的 SQL 查询工作正常。

【问题讨论】:

  • 你的$db_main 在哪里?你可以试试这样$stmt->bind_param('sii', 'event_organizer', $event_id, $user_id);
  • $db_main 在另一个 PHP 文件中声明,该文件包含在 include_once('[...]');而且我认为,必须正确声明 $db_main ,因为之前的 SQL-Query 有效并且它使用相同的数据库!绑定“event_organizer”本身或与另一个变量也不起作用:/我真的没有看到我的错误!

标签: php mysqli insert


【解决方案1】:

我发现了我的错误!我忘记关闭之前的声明。在我这样做之后,一切正常。

但是:

$stmt->bind_param('sii', 'event_organizer', $event_id, $user_id); 

不工作。你必须绑定变量!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-26
    • 2017-10-20
    • 2013-02-24
    相关资源
    最近更新 更多