<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Совмещение ООП и PDO
28.01.2016 23:20:07 Совмещение ООП и PDO Сообщение #1
Andromeda22

Andromeda22

Новичок

Новичок

Дата регистрации:
09.01.2016 20:51:45

Сообщений: 1

Здравствуйте, вопрос как правильно совмещать оопешные классы с запросами пдо. Надо занести данные в базу те что при содании объекта F3.
Этот код выдает такую ошибку:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'pety@ret.ru' for key 'email'' in Z:\home\localhost\www\testcomment12\constryct.php:42 Stack trace: #0 Z:\home\localhost\www\testcomment12\constryct.php(42): PDOStatement->execute(Array) #1 Z:\home\localhost\www\testcomment12\constryct.php(47): Info->intoDb() #2 {main} thrown in Z:\home\localhost\www\testcomment12\constryct.php on line 42.

Помогите пожалуйста, я новичек в этом деле


class DB
{
  static function connect($host ='localhost', $user ='root', $pass = '', $dbname ='testcomment'
    {
      $dsn = 'mysql:host='.$host.';dbname='.$dbname.';charset=utf8;';
      $opt = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
         PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC);
      $pdo = new PDO($dsn, $user, $pass, $opt);
      $pdo->query('set names "utf8"';
      return $pdo;
    } 
}
class Info {
  protected $id;
  protected $username;
  protected $email;
  protected $phone;
  protected $comment;
  protected $filepath;
  protected $date; 
  function __construct($id,$us,$em,$ph,$com,$fp){
    $this->id =$id;
    $this->username = $us;
    $this->email = $em;
    $this->phone = $ph;
    $this->comment = $com;
    $this->filepath = $fp;
    $this->date = @date("Y-m-d H:i:s";  
  }
  
  function intoDb()
  { 
  $pdo =DB::connect();
    
    $res =$pdo->prepare('insert into Usercomment(username, email, phone, comment, filepath, date) values( ?, ?, ?, ?, ?, ?)';
    $res->execute(array($this->username, $this->email, $this->phone, $this->comment, $this->filepath, @date("Y-m-d H:i:s"));
  }
}
$f3=new Info(0,"Pety", "pety@ret.ru",2345678, "Yes", "text.txt";
$f3->intoDb();
 ?>.
Профиль Ответить