summaryrefslogtreecommitdiff
path: root/DBI_EXAMPLES
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-03-23 15:57:36 -0700
committeryo mama <pepper@scannerjammer.com>2015-03-23 15:57:36 -0700
commita6bbef0937649cd92a4b378a8454a96e6110bd99 (patch)
tree582079ef3abdce03aeefa1b3b9ddd5d352bc9843 /DBI_EXAMPLES
parent00c7f6129f87d77788aa92e08dd77b7b473f9a71 (diff)
moved things aroundHEADmaster
Diffstat (limited to 'DBI_EXAMPLES')
-rwxr-xr-xDBI_EXAMPLES/DBI_sqlite_alternative.pm59
1 files changed, 59 insertions, 0 deletions
diff --git a/DBI_EXAMPLES/DBI_sqlite_alternative.pm b/DBI_EXAMPLES/DBI_sqlite_alternative.pm
new file mode 100755
index 0000000..d65f8d6
--- /dev/null
+++ b/DBI_EXAMPLES/DBI_sqlite_alternative.pm
@@ -0,0 +1,59 @@
+package journal_database;
+use DBD::SQLite;
+use DBI;
+use Data::Dumper;
+my $dbh = DBI->connect("dbi:SQLite:dbname=./database/journals.db","","");
+
+
+CREATE TABLE journals(
+ id INTEGER PRIMARY KEY NOT NULL, --optional
+ date INTEGER NOT NULL,
+ fulltext TEXT,
+ image_url TEXT
+);
+
+sub remove_from_db{
+ my $id_to_remove = shift;
+ my $sth = $dbh->prepare(
+ "DELETE FROM journals ".
+ "WHERE id=$id_to_remove;"
+ );
+ $sth->execute();
+}
+sub get_entry_by_date {
+ my $date_int = shift;
+ my $sth = $dbh->prepare(
+ "SELECT *".
+ "FROM journals ".
+ "WHERE `date`=? "
+ );
+ $sth->execute($date_int);
+ return $sth->fetchrow_hashref();
+}
+
+sub add_journal_entry{
+ my $entry = shift;
+ my $sqlCmd = "insert into journals values (?,?,?,?);" ;
+# ."on duplicate key update ".
+# "id = ?,".
+# "date = ?,".
+# "fulltext = ?,".
+# "image_url = ?,".
+# ";";
+ my $sth = $dbh->do($sqlCmd,
+ undef,
+ $entry->{id},
+ $entry->{date} || time(),
+ $entry->{fulltext},
+ $entry->{image_url}
+ );
+ }
+
+ my $entry = {};
+ $entry->{id} = '12';
+ $entry->{date} = '123432';
+ $entry->{fulltext} = 'this is a test of the fulltext';
+ $entry->{image_url} = 'this is a test of the image url';
+ add_journal_entry($entry);
+ print Dumper get_entry_by_date(123432);
+ remove_from_db(12);