$dotheactvity = $db->db_exec("INSERT INTO activity (notification, by, on, extra, extra2) VALUES ('$nou', '$nome', '$tehtime', '$herpdederp', '$id2')");
出于某种原因,此查询在没有警告的情况下失败。其他一切都有效,但不是这一行。我查了一下,所有变量都存在。我似乎也无法在日志中找到任何东西。
(请原谅我在命名我的论据时不成熟)
答案 0 :(得分:5)
by
和on
为MySQL reserved words。
尝试将它们封闭在后面。
答案 1 :(得分:1)
试试这个:
$sql = "INSERT INTO activity (notification, by, on, extra, extra2) VALUES ('".$nou."', '".$nome."', '".$tehtime."', '".$herpdederp."', '".$id2."')";
这可行的原因是你的值可能是需要用引号括起来的字符串值。
因此,当MySQL读取您的SQL时,它将如下所示:
INSERT INTO activity (notification, by, on, extra, extra2) VALUES ('val1', 'val2', 'val3', 'val4', 'val5');
您可以使用
检查SQL语句的格式echo $sql;
或
print_r($sql);
或
var_dump($sql)
答案 2 :(得分:0)
通常我会先将查询字符串放在变量中,然后将其回显(仅用于调试)。发现错误会更清晰,更容易。而且,您可以复制并粘贴查询并在mysql控制台或phpmyadmin查询控制台中运行。它会告诉你那里的错误。
$sql = "INSERT INTO activity (notification, by, on, extra, extra2) VALUES ('$nou', '$nome', '$tehtime', '$herpdederp', '$id2')";
echo $sql;