【发布时间】: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”本身或与另一个变量也不起作用:/我真的没有看到我的错误!