MySQL数据未插入数据库

时间:2014-03-16 00:02:50

标签: php mysql sql insert

我正在为我的网站制作通知脚本。我无法将信息插入到数据库中。除通知插入外,使用这些功能的其他所有功能都有效。它正在我的论坛脚本上向一个帖子的创建者发送通知,因此我将查询从论坛中获取数据。 query()是一个预定义的函数,并且已经在脚本中设置了$ id。

这是我的代码:

// Notifications
$eee = "SELECT * FROM forums WHERE id = $id";
$eeee = query($eee);
while($notif = mysqli_fetch_assoc($eeee)){
$query3 = "INSERT INTO notifications (username, purpose, url, from) VALUES ('$notif[creator]', 'commented on your thread', '/forums/view_topic.php?id=$id', '$_SESSION[username]')";
$active3 = mysqli_query(db(), $query3);
}

我试过“或死(mysqli_error(db)),但它只是死了而且什么也没有返回。感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

你需要将反引号放在colum名称"来自"在列列表中。

喜欢这个

INSERT INTO notifications (`username`, `purpose`, `url`, `from`)

没有反叛"来自"被解释为mysql关键字。这会导致错误。

答案 1 :(得分:1)

当您在数组中访问字符串键时,需要在字符串键周围使用引号。

您的查询3应为:

$query3 = "INSERT INTO notifications (username, purpose, url, from)
           VALUES ('$notif[\"creator\"]', 'commented on your thread',
                   '/forums/view_topic.php?id=$id', '$_SESSION[\"username\"]')";
$active3 = mysqli_query(db(), $query3);