<? class Blog_Entry_Table { //Establish connection to database with PDO private $db; public function __construct ( $db ) { $this->db = $db; } //Insert new entries public function saveEntry ( $title, $text ) { $entrySQL = "INSERT INTO blog_entry (title, text) VALUES (?, ?)"; $entryStatement = $this->db->prepare( $entrySQL ); $formData = array( $title, $text ); try { $entryStatement->execute( $formData ); // echo "Entry successfully added. Go to All Entries to view."; } catch (Exception $e){ $msg = "<p>You tried to run this sql: $entrySQL<p> <p>Exception: $e</p>"; trigger_error($msg); } } //Get all entries public function getAllEntries () { $entrySQL = "SELECT id, title, SUBSTRING(text, 1, 140) AS intro FROM blog_entry"; //SELECT 'columnName' AS 'aliasName' //this is SQL Aliases: temporarily rename a table or column heading //so that it's more readable. $statement = $this->makeStatement($sql); return $statement; } public function getEntry($id) { $sql = "SELECT id, title, text, date_created FROM blog_entry WHERE entry_id = ?"; $data = $array($id); $statement = $this->makeStatement($sql, $data); $model = $statement->fetchObject(); return $model; } private function makeStatement($sql, $data=NULL) { //the default $sql will be used if nothing else is passed to $data $statement = $this->db->prepare( $entrySQL ); try{ $statement->execute($data); } catch (Exception $e){ $exceptionMsg = "<p>You tried to run this sql: $entrySQL<p> <p>Exception: $e</p>"; trigger_error($exceptionMsg); } return $statement; } } ?>