我是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;中插入任何内容。如果是这样的话,那是什么样的,因为我需要每次增加一个数字,所以我不重复条目。
任何帮助将不胜感激。
答案 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