如何解决带有多个联接的mysqli预处理语句不断返回false
我应该设计一个考试服务器系统,并且在尝试使用mysqli的prepare函数准备语句时遇到错误。我正在使用php连接到由$ conn变量表示的sql(它确实连接到了数据库),并且我在mysql工作台中尝试了相同的确切语句,并且工作正常。这是我编写的代码:
$stmtTempTable = $conn->prepare("CREATE TEMPORARY TABLE front_action_temp
SELECT * FROM front_action
WHERE time_offset > 0");
$stmt = $conn->prepare("SELECT event_name,status,day_of_week,week_of_year,event_year,start_time,time(start_time +
time_offset) as end_time,machine_group
FROM front_weekly
LEFT JOIN front_event ON front_weekly.event_id=front_event.event_id
LEFT JOIN front_daily ON front_event.event_id=front_daily.event_id
LEFT JOIN front_group ON front_daily.group_id=front_group.group_id
LEFT JOIN front_action_temp ON front_action_temp.event_id=front_event.event_id
WHERE day_of_week=? and week_of_year=? and event_year=?");
if ($stmt === false){
die('Unable to execute');
} else {
$stmt->bind_param('sss',$dayOfWeek,$weekNumber,$year);
$stmt->execute();
}
我不断为$ stmt弄虚作假。有什么想法吗?
解决方法
您只是prepare()
CREATE TEMPORARY TABLE...
,而不execute()
。第二条语句失败,因为该表不存在。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。