Я работаю над классом, где я хочу проверить, все ли заполнено, и если все заполнено, а затем вставить в базу данных, но я застрял на том, как я могу вставить в свой класс, поэтому надеюсь, что вы, ребята, могли мне помочь , У меня никогда не было ошибок в этой проблеме.как вставить запрос в класс?
Вот код:
<?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. –
Ну, я пробовал, но он, похоже, не работал –
ах хорошо, что парень внизу; отправил ответ, спросите его. Я должен буду держаться подальше от этой петли. –