PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 3
Vadim666 Отправлено: 06 Декабря, 2016 - 17:49:02 • Тема: Не добавляется статья на сайт • Форум: SQL и Архитектура БД

Ответов: 0
Просмотров: 17
Ошибок нету. запись в таблицу не добавляется подскажите
МодельД:
public static function createArticle($options){



// Соединение с БД
$db = Db::getConnection();
// Текст запроса к БД
$sql = 'INSERT INTO article (title, short_content, content, author_name) '
. 'VALUES (:title, :short_content, :content, :author_name)';
// Получение и возврат результатов. Используется подготовленный запрос
$result = $db->prepare($sql);
$result->bindParam(':title', $options['title'], PDO::PARAM_STR);
$result->bindParam(':short_content', $options['short_content'], PDO::PARAM_STR);
$result->bindParam(':content', $options['content'], PDO::PARAM_STR);
$result->bindParam(':author_name', $options['author_name'], PDO::PARAM_STR);
return $result->execute($options);

}

Контроллер:
public function actionCreate(){


// Обработка формы
if (isset($_POST['submit'])){
// Если форма отправлена
// Получпем данные из формы

$options['title'] = $_POST['title'];
$options['short_content'] = $_POST['short_content'];
$options['content'] = $_POST['content'];
$options['author_name'] = $_POST['author_name'];









// Если запись добавлена
if(Add::createArticle($options)) {
header("Location: /");
}


}

require_once(ROOT . '/views/add/index.php');
return true;

}
Vadim666 Отправлено: 06 Декабря, 2016 - 17:43:51 • Тема: Не добавляется статья на сайт • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 41
Sail пишет:
Vadim666, однако, скобку пропустили открывающую для значений в запросе на вставку


Где именно подскажите пожалуйста, а то не вижу
Vadim666 Отправлено: 06 Декабря, 2016 - 12:35:44 • Тема: Не добавляется статья на сайт • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 41
Не добавляется статья в базу данных, ошибок нету, помогите кто может

Controller:
<?php

include_once ROOT . '/models/Add.php';

class AddController{

public function actionCreate(){

if(isset($_POST['submit'])){

$options['title'] = $_POST['title'];
$options['short_content'] = $_POST['short_content'];
$options['content'] = $_POST['content'];
$options['author_name'] = $_POST['author_name'];

$errors = false;

if (!isset($options['title']) || empty($options['title'])){
$errors[] = 'Заповніть поле';
}

if($errors == false) {

// Если ошибок нет. Добавляем новый рецепт

$id = Add::createArticle($options);

// Если запись добавлена
if($id) {
header("Location: /");
}

}


}

require_once (ROOT . '/views/add/index.php');

return true;

}

}

Model:
<?php

class Add{

public static function createArticle($options){

$db = Db::getConnection();

$sql = 'INSERT INTO article '
. '(title, short_content, content, author_name)'
. 'VALUES '
. ':title, :short_content, :content, :author_name)';

$result = $db->prepare($sql);
$result->bindParam(':title', $options['title'], PDO::PARAM_STR);
$result->bindParam(':short_content', $options['short_content'], PDO::PARAM_STR);
$result->bindParam(':content', $options['content'], PDO::PARAM_STR);
$result->bindParam(':author_name', $options['author_name'], PDO::PARAM_STR);

if($result->execute()){
return $db->lastInsertId();
}
return 0;
}

}

Views:


<form action="#" method="post" enctype="multipart/form-data">

<p>Назва статті:</p>
<input type="text" name="title" placeholder="" value="">

<p>Коротка стаття:</p>
<textarea name="short_content"></textarea>

<p>Повна стаття:</p>
<textarea name="content"></textarea>



<p>Автор:</p>
<input type="text" name="author_name" placeholder="" value="">
<br/>
<br/>
<input type="submit" name="submit" placeholder="" value="Добавити">
</form>

</div>

</div><!-- /.container -->

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB