mysql插入故障

时间:2011-12-28 10:31:03

标签: php mysql

我无法弄清楚为什么这不起作用。它说“注释已添加”,但实际上并没有将其添加到数据库中。

<?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;

5 个答案:

答案 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' ");

}

实际上它不会与您的列名和值冲突。 :)