PHP未插入数据库

时间:2014-05-19 02:35:08

标签: php mysql

我是PHP的新手,我已经广泛地浏览了为什么我的PHP没有插入我的数据库。

以下是我的PHP代码片段:

    // Validate the form data:
            $problem = FALSE;
            if (!empty($_POST['name']) && !empty($_POST['commnent'])) {
                $name = trim($_POST['name']);
                $commnent = trim($_POST['commnent']);
            } else {
                print '<p style="color: red;">Please submit both a name and a comment.</p>';
                $problem = TRUE;
            }

            if (!$problem) {

                // Define the query:
                $query = "INSERT INTO week_9 (name, commnent) VALUES ('$name', '$commnent')";

                // Execute the query:
                if (mysql_query($connection, $query)) {
                    die('Error: ' . mysqli_error($connection));
                }   

            } 

我知道&#34;评论&#34;是错误的,但我在数据库中拼错了。我检查过,我可以从数据库中检索数据,但我无法插入。

数据库看起来像这样:

    +----------+---------------+------+-----+---------+-------+
    | Field    | Type          | Null | Key | Default | Extra |
    +----------+---------------+------+-----+---------+-------+
    | pkey     | int(11)       | NO   | PRI | 0       |       |
    | name     | varchar(50)   | YES  |     | NULL    |       |
    | commnent | varchar(5000) | YES  |     | NULL    |       |
    +----------+---------------+------+-----+---------+-------+

我想知道问题是不是我没有在pkey&#39;中插入任何内容。如果是这样的话,那是什么样的,因为我需要每次增加一个数字,所以我不重复条目。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

错误在您的数据库中。您已将pkey设为primary key,因此不允许重复值。您必须将pkey设为auto_increment,否则每次插入数据时都必须插入唯一值,否则它将无效。

删除上表并按照

创建
create table table_name(
pkey int PRIMARY KEY  AUTO_INCREMENT,
//other fields
)

编辑:

$query = "INSERT INTO week_9 (name, commnent) VALUES ('{$name}', '{$commnent}')";
$result=mysqli_query($connection, $query);
if($result){
  echo "Query is successfully executed";
}else{
  echo "Query is not ok";
 }

{}放在single quotes

内的变量周围