我试图弄清楚如何使用PHP在我的数据库中插入一个值。 我是一名学生,所以我对PHP很新,但过去几个小时我一直在努力解决这个问题。我试图在我的数据库中插入一个值' ic_likes'当我按下图像时(按钮内的图像)。
它告诉我错误,但我不确定该如何处理它。我一直在寻找它,但似乎无法找到我做错的事情
注意:未定义的索引:第56行的/Applications/MAMP/htdocs/back-end/Development/collection.php中的操作*
我的数据库如下所示:
IC:
=======================
ic_items
=======================
id | items | text |url
=======================
==============
ic_likes
==============
id | items_id
==============
HTML
<ul>
<li>
<form class="" action="collection.php?id=<?php echo($items[0]['id'])?>" method="post">
<input type="hidden" name="action" value="insertLike" />
<button type="submit" name="button">
<img src="assets/img/like.svg" alt="Lost love in war" width="20" class="heart">
</button>
</form>
<span class="info-txt aantal">
<?php
$aantalLikes = $likesDAO->getLikesForID($items[0]['id']);
echo($aantalLikes['total']);
?>
</span>
</li>
</ul>
collection.php
foreach ($items as $item) {
$likes = $likesDAO->selectByLikeId($item['id']);
}
if ($_POST['action'] == 'insertLike') {
$data = array(
'items_id' => $item['id']
);
$insertedLike = $likesDAO->insert($data);
if (empty($insertedLike)) {
$errors = $likesDAO->validate($data);
}
}
likeDAO.php
public function insert($data) {
$errors = $this->validate( $data );
if (empty($errors)) {
$sql = "INSERT INTO `ic_likes` (`items_id`) VALUES (:items_id)";
$stmt = $this->pdo->prepare($sql);
$stmt->bindValue(':items_id', $data['items_id']);
if ($stmt->execute()) {
return $this->selectById($this->pdo->lastInsertId());
}
}
return false;
}