我无法弄清楚为什么这不起作用。它说“注释已添加”,但实际上并没有将其添加到数据库中。
<?php
$notetitle = $_POST['title'];
$notebody = $_POST['body'];
if ($notetitle && $notebody){
mysql_query("insert into notes values
('$user_id', '', '$subject', '$notetitle', '$note_type' '$notebody')");
echo "Note \"" . $notetitle . "\" added.";
}
&GT;
答案 0 :(得分:7)
你错过了一个逗号:
('$user_id', '', '$subject', '$notetitle', '$note_type', '$notebody')");
答案 1 :(得分:1)
您的代码中存在一些错误。使用下面的代码并检查它。我添加了更多内容以确保您的数据准确性:
<?php
$notetitle = $_POST['title'];
$notebody = $_POST['body'];
if ($notetitle != '' && $notebody !='') {
$myQuery = mysql_query("INSERT INTO notes VALUES
('$user_id', '', '$subject', '$notetitle',
'$note_type', '$notebody')");
// verify your database query and then show the message below
if (mysql_affected_rows()) {
echo "Note \"" . $notetitle . "\" added.";
}
}
?>
请注意您在MySQL查询中忘记了'$ notebody'之前的逗号。
答案 2 :(得分:0)
您的SQL查询不是很有效 - 您还必须添加要通过INSERT
设置的列名称:
mysql_query("insert into notes (id, smth, subject, ... etc) values
('$user_id', '', '$subject', '$notetitle', '$note_type', '$notebody')");
答案 3 :(得分:0)
如果您检查插件是否有效并且报告失败时出现错误,那么您就知道它为什么不能正常工作....
if ($notetitle && $notebody){
$qry="insert into notes values
('$user_id', '', '$subject', '$notetitle', '$note_type' '$notebody')";
if (mysql_query($qry)) {
echo "Note \"" . $notetitle . "\" added.";
} else {
print "Failed: $qry\n" . mysql_error();
}
}
不处理错误和异常是非常糟糕的编程。不在insert语句中声明列是非常错误的做法。不使用显式数据库句柄是混乱的。不评论您的代码是不好的做法。
答案 4 :(得分:0)
您错过了“'$ note_type''$ notebody'”,
之间的逗号更好的方法是你应该像这样写:=
$notetitle = $_POST['title'];
$notebody = $_POST['body'];
if ($notetitle && $notebody){
mysql_query("insert into notes
set userid='$user_id',
subject = '$subject',
notetitle = '$notetitle',
note_type = '$note_type',
notebody = '$notebody' ");
}
实际上它不会与您的列名和值冲突。 :)