我正在研究一个类,在那里我想检查是否一切都填满了,如果一切都填充,然后插入到数据库中,但我坚持如何在我的班级内插入,所以我希望你们可以帮我。我从来没有得到这个问题的任何错误。如何在类中插入查询?
下面是代码:
<?php
class clsCatCheck
{
private $catName;
public function __construct($catName)
{
$this->setCatName($catName);
}
public function setCatName($catName)
{
$connect = new PDO('mysql:host=hostname;dbname=dbname', "username", "password");
$select = $connect->prepare('SELECT * FROM category');
$row = $select->fetch();
if (isset($_POST['addCat'])) {
if (empty($_POST['catName'])) {
throw new Exception('Geen categorienaam is ingevuld<br />');
}
//if (strlen($_POST['catName'] <= 4)) {
// throw new Exception('De categorienaam moet minimaal 4 letters of langer zijn<br />');
//}
if ($_POST['catName'] == $row[1]) {
throw new Exception('Deze categorienaam bestaat al<br />');
}
}
else {
$query = $connect->prepare("INSERT INTO category (catName) VALUES (:catName = catName)");
$query->bindParam(':catName', $_POST['catName'] ,PDO::PARAM_STR);
$query->execute();
}
$this->catName = $catName;
}
public function getCatName()
{
return $this->catName;
}
}
已经感谢帮助。 如果你想要更多的代码,只需要问。
'VALUES(:catName = catName)'应该读作VALUES(:catName)'和使用异常会引发一个语法错误。 http://php.net/manual/en/pdo.error-handling.php - 你现在使用的是UPDATE语法,而不是INSERT。 –
嗯,我试过,但它似乎并没有工作 –
啊,那家伙下面;张贴了一个答案,所以问他。我将不得不离开这个循环。 –