示例#1
0
 /**
  * The primary method a driver needs to implement is the execute method, which takes an array of query options.
  * The options in the array varies, but the key type will always be supplied, which will be either SELECT, UPDATE,
  * INSERT, REPLACE or DELETE.
  *
  * @param array $options An array of options that were generated through use of the Query class.
  * @return object It is expected to return an instance of an \Queryer\Driver\DatabaseDriverResult class.
  * @see \Queryer\Query, \Queryer\Driver\DatabaseDriverResult
  */
 public function execute(array $options)
 {
     $query = self::generateQuery($options);
     $query = DatabaseTools::replaceVariables($query, $options['variables']);
     $result = $this->sqlite->query($query);
     return new Sqlite3DriverResult($result, $this->sqlite->changes(), $this->sqlite->lastInsertRowID(), $result === false ? $this->sqlite->lastErrorCode() : null, $result === false ? $this->sqlite->lastErrorMsg() : null, $query);
 }
示例#2
0
 /**
  * Update compare database with data from local storage
  *
  * @param Core_FsObject $fsObject file system object
  *
  * @return void
  */
 public function updateFromLocal($fsObject)
 {
     if (false === $fsObject->md5) {
         $prep1 = $this->_prepFromLocal1;
         $prep2 = $this->_prepFromLocal2;
     } else {
         $prep1 = $this->_prepFromLocalFull1;
         $prep1->bindValue(":md5", $fsObject->md5);
         $prep2 = $this->_prepFromLocalFull2;
         $prep2->bindValue(":md5", $fsObject->md5);
     }
     $prep1->bindValue(":isDir", $fsObject->isDir);
     $prep1->bindValue(":path", $fsObject->path);
     $prep1->bindValue(":isLocal", 1);
     $prep1->bindValue(":size", $fsObject->size);
     $prep1->bindValue(":time", $fsObject->time);
     $prep1->execute();
     if ($this->_db->changes() == 0) {
         // record doesn't exists
         $prep2->bindValue(":isDir", $fsObject->isDir);
         $prep2->bindValue(":path", $fsObject->path);
         $prep2->bindValue(":isLocal", 1);
         $prep2->bindValue(":size", $fsObject->size);
         $prep2->bindValue(":time", $fsObject->time);
         $prep2->execute();
     }
 }
示例#3
0
public  function _gc($maxlifetime) {
        $stmt=parent::prepare("delete
                                 from http_sessions
                                 where datetime())-strftime('%s',alive)>:lifetime");
        $stmt->bindValue(':lifetime', ini_get('session.gc_maxlifetime'), SQLITE3_INTEGER);
        $stmt->execute();
        return parent::changes();}
示例#4
0
function anubisFILE($idmd5, $fileName)
{
    #Execute the Python Script
    #python /var/www/anubis/submit_to_anubis.py /var/www/mastiff/MD5/filename.VIR
    $command = 'python /var/www/anubis/submit_to_anubis.py -u ' . $anubisUser . ' -p ' . $anubisPass . ' "/var/www/mastiff/' . $idmd5 . '/' . $fileName . '"';
    $output = shell_exec($command);
    $anubisRes['out'] = $output;
    $pattern = '/https?\\:\\/\\/[^\\" ]+/i';
    preg_match($pattern, $output, $matches);
    #echo '<pre>';
    #	echo '$matches: ';
    #	var_dump($matches);
    #echo '</pre>';
    $anubisLink = $matches[0];
    $anubisLink = strstr($anubisLink, "\n", true);
    $anubisRes['link'] = $anubisLink;
    #Update the Database
    $db = new SQLite3('../mastiff/mastiff.db');
    $result = $db->exec('UPDATE mastiff SET anubis = "' . $anubisLink . '" WHERE md5 = "' . $idmd5 . '"');
    if (!$result) {
        $anubisRes['db'] = $db->lastErrorMsg();
    } else {
        $anubisRes['db'] = $db->changes() . ' Record updated successfully.';
    }
    return $anubisRes;
}
示例#5
0
 function getSettings()
 {
     $db = new SQLite3('/var/www/admin/admin.db');
     $result = $db->query('SELECT * FROM admin WHERE id = 1');
     if (isset($result)) {
         while ($res = $result->fetchArray()) {
             #$_SESSION['size']=$res['size'];
             #$malwrRes['uuid']=$res['uuid'];
             $settingRes = array();
             $settingRes = $res;
             /*	remver
              * 	mastiffconf
              * 	mastiffpy
              * 	tridloc
              * 	malwrPlugin
              * 	malwrAPI
              *  critsPlugin
              *  critsPage
              *  critsLogin
              * 	threatanalyzerplugin
              * 	threatapi
              * 	threatbase
              * 	threatpage
              * 	threatargs
              * 	tasubpriority
              * 	tasubsandbox
              * 	tasubreanalyze
              * 	anubisuser
              * 	anubispass
              * 	wotapi
              * 	vtapi
              * 	googapi
              * 	gcsekey
              * 	gcsesig
              * 	gcsecx
              * 	gcsequery
              * 	autopbua
              * 	twitterapi
              * 	twittertoken
              * 	twitterquery
              * 	twitterconsec
              * 	twitteroauthsec
              */
         }
     }
     if (!$result) {
         $settingRes['db'] = $db->lastErrorMsg();
     } else {
         $settingRes['db'] = $db->changes() . ' Record updated successfully.';
     }
     $db->close();
     return $settingRes;
 }
示例#6
0
文件: SQLite.php 项目: enozoom/es
 public function query($sql)
 {
     $this->last_query = $sql;
     switch (strtoupper(substr($sql, 0, strpos($sql, ' ')))) {
         case 'SELECT':
             $SQLite3Result = parent::query($sql);
             $rs = [];
             while ($row = $SQLite3Result->fetchArray(SQLITE3_ASSOC)) {
                 $rs[] = (object) $row;
             }
             return $rs;
             break;
         case 'INSERT':
             parent::query($sql);
             return $this->lastInsertRowID();
             break;
         case 'DELETE':
         case 'UPDATE':
             parent::exec($sql);
             return parent::changes();
             break;
     }
     return FALSE;
 }
示例#7
0
}
function sumlen_step($a, $b, $c)
{
    return (int) $a + strlen($c);
}
function sumlen_fini($a)
{
    return (int) $a;
}
$db = new SQLite3(':memory:test');
$db->exec("DROP TABLE IF EXISTS foo");
$db->exec("CREATE TABLE foo (bar STRING)");
$db->exec("INSERT INTO foo VALUES ('ABC')");
$db->exec("INSERT INTO foo VALUES ('DEF')");
VS($db->lastinsertrowid(), 2);
VS($db->changes(), 1);
VS($db->lasterrorcode(), 0);
VS($db->lasterrormsg(), "not an error");
VS($db->escapestring("'\""), "''\"");
VS($db->querysingle("SELECT * FROM foo"), "ABC");
VS($db->querysingle("SELECT * FROM foo", true), array("bar" => "ABC"));
$res = $db->query("SELECT * FROM foo");
VS($res->fetcharray(), array(0 => "ABC", "bar" => "ABC"));
VS($res->numcolumns(), 1);
VS($res->columnname(0), "bar");
VS($res->columntype(0), SQLITE3_TEXT);
VS($res->fetcharray(SQLITE3_NUM), array("DEF"));
$stmt = $db->prepare("SELECT * FROM foo WHERE bar = :id");
VS($stmt->paramcount(), 1);
$id = "DEF";
VERIFY($stmt->bindvalue(":id", $id, SQLITE3_TEXT));
 /**
  * Deletes a particular message from the specified catalogue.
  *
  * @param string  $message    the source message to delete.
  * @param string  $catalogue  the catalogue to delete from.
  * @return boolean true if deleted, false otherwise.
  */
 function delete($message, $catalogue = 'messages')
 {
     $details = $this->getCatalogueDetails($catalogue);
     if ($details) {
         list($cat_id, $variant, $count) = $details;
     } else {
         return false;
     }
     $db = new SQLite3($this->source, SQLITE3_OPEN_READWRITE);
     $text = $db->escapeString($message);
     $db->exec("DELETE FROM trans_unit WHERE cat_id = {$cat_id} AND source = '{$message}'");
     if ($db->changes()) {
         $this->updateCatalogueTime($cat_id, $variant);
         $deleted = true;
     } else {
         $deleted = false;
     }
     $db->close();
     return $deleted;
 }
示例#9
0
文件: index.php 项目: shizg/index
 /**
  * 执行
  * @param $query
  * @return mixed
  */
 public function exec($query)
 {
     $this->debug($query);
     $this->_sqlite->exec($query);
     return $this->_sqlite->changes();
 }
示例#10
0
 function affectedRows()
 {
     return $this->connection->changes();
 }
示例#11
0
<?php

include "SubVideo.php";
$db1 = new SQLite3('videoworld.sqlite');
$db2 = new SQLite3('MyVideos105.db');
$res2 = $db2->query('SELECT c09 FROM movie');
$updates = '';
while ($row2 = $res2->fetchArray(SQLITE3_ASSOC)) {
    if (!empty($row2['c09'])) {
        $db1->exec('UPDATE movies SET status=2 WHERE status<>2 AND imdb_id="' . $row2['c09'] . '"');
        if ($db1->changes()) {
            if (empty($updates)) {
                $updates = '"' . $row2['c09'] . '"';
            } else {
                $updates .= ',"' . $row2['c09'] . '"';
            }
        }
    }
}
$db1->close();
$db2->close();
if (!empty($updates)) {
    $stmt = 'SELECT * FROM movies WHERE imdb_id IN (' . $updates . ') ORDER BY title';
    PrintVideos($stmt, 0);
}
示例#12
0
 /**
  * This function returns the number of database rows that were changed or inserted or deleted by the most recently completed SQL statement
  *
  * @return int
  */
 public function getAffectedRows()
 {
     return $this->sqlite->changes();
 }
示例#13
0
function addColumn($settingRes,$newColName,$newColVal){
	if(!isset($settingRes[$newColName])){
		$db=new SQLite3('./admin/admin.db');
		$altercmd = 'ALTER TABLE admin ADD COLUMN '.$newColName.' TEXT';
		$result = $db->exec($altercmd);
		if(!$result){
			$settingRes['dbmod']=$db->lastErrorMsg();
		}
		else{
			$settingRes['dbmod']=$db->changes().' Record updated successfully.';
		}
		
		#Add initial data
		$update = $newColName."='".$newColVal."'";
		$result = $db->exec('UPDATE admin SET '.$update.' WHERE id=1');
		if(!$result){
			$addcolRes['dbset']=$db->lastErrorMsg();
		}
		else{
			$addcolRes['dbset']=$db->changes().' Record updated successfully.';
		}
		
		$db->close();
		return $addcolRes;
	}
}
示例#14
0
 /**
  * {@inheritdoc}
  */
 public function rowCount()
 {
     return $this->_conn->changes();
 }
示例#15
0
require "../includes/include.php";
if (is_numeric($_POST["id"]) && intval($_POST["id"]) > 0) {
    $sqlite = new SQLite3($db_str, SQLITE3_OPEN_READWRITE);
    $id = intval($_POST["id"]);
    $section = findSectionById($id);
    $container = null;
    if ($section !== false) {
        $container = $section["container"];
    }
    $changes = 0;
    $success = false;
    if ($sqlite->exec("pragma foreign_keys = on")) {
        $delete = $sqlite->prepare("delete from sections where s_id=:id");
        $delete->bindValue("id", $id, SQLITE3_INTEGER);
        $success = $delete->execute() !== false;
        $changes = $sqlite->changes();
    } else {
        $success = deleteSection($id);
    }
    if ($success) {
        sortSection($container);
        $message = date("Y-m-d H:i:s");
    } else {
        $message = "Unable to delete some links or sections";
    }
    $result = ["delete" => $section, "success" => $success, "message" => $message, "changes" => $changes, "anchor" => "s" . ($container != null ? $container : "null")];
    $sqlite->close();
} else {
    $result = ["delete" => $_POST["id"], "success" => false, "message" => "Bad request", "changes" => 0];
}
print json_encode($result);
<?php

$db = new SQLite3('/volume1/@appstore/domoticz/var/domoticz.db');
$clean = strftime("%G-%m-%d %k:%M:%S", time() - 86400);
$tables = array('LightingLog', 'Meter', 'Meter_Calendar', 'MultiMeter', 'MultiMeter_Calendar', 'Percentage', 'Percentage_Calendar', 'Rain', 'Rain_Calendar', 'Temperature', 'Temperature_Calendar', 'UV', 'UV_Calendar', 'Wind', 'Wind_Calendar');
foreach ($tables as $table) {
    $query = $db->exec("DELETE FROM {$table} WHERE DeviceRowID not in (select ID from DeviceStatus where Used = 1)");
    if ($query) {
        $rows = $db->changes();
        if ($rows > 0) {
            echo $rows . " rows removed from {$table}<br/>";
        }
    }
    $query = $db->exec("DELETE FROM {$table} WHERE Date < '{$clean}'");
    if ($query) {
        $rows = $db->changes();
        if ($rows > 0) {
            echo $rows . " rows removed from {$table}<br/>";
        }
    }
}
$tables = array('Temperature', 'Temperature_Calendar', 'Meter', 'Meter_Calendar', 'LightingLog');
foreach ($tables as $table) {
    $query = $db->exec("DELETE FROM {$table}");
    if ($query) {
        $rows = $db->changes();
        if ($rows > 0) {
            echo $rows . " rows removed from {$table}<br/>";
        }
    }
}
示例#17
0
 /**
  * Return number of affected rows
  */
 function sql_affectedrows()
 {
     return $this->is_connected() ? $this->_connect_id->changes() : false;
 }
示例#18
0
文件: fun.php 项目: Ben749/racetrack
function sqli3($sql, $table)
{
    #av($sql,$table);
    if (!class_exists('SQLite3')) {
        DB("noexists:SQLite3", 'err');
        return;
    }
    $db = new SQLite3($table);
    if (!$db) {
        DB("sqlite3err:" . $db->lastErrorMsg(), 'err');
        return;
    }
    sql2lite($sql);
    $t = $db->query($sql);
    if (substr($sql, 0, 6) != 'select') {
        $x = $db->changes();
    } else {
        while ($r = $t->fetchArray(SQLITE3_ASSOC)) {
            $x[] = $r;
        }
    }
    $db->close();
    if (count($x) == 1 && count($x[0]) == 1) {
        $x = end($x[0]);
    }
    #unique résultat
    #elseif(count($x)==1)$x=$x[0];#ou dépile une matrice unique
    return $x;
}
示例#19
0
<?php

$db = new SQLite3(':memory:');
//$db = new SQLite3('mysqlitedb.db');
$db->exec('CREATE TABLE pageView(id INTEGER PRIMARY KEY, page CHAR(256), access INTEGER(10))');
$db->exec('INSERT INTO pageView (page, access) VALUES (\'test\', \'000000\')');
echo $db->changes("dummy");
示例#20
0
文件: password.php 项目: archi/wzet
</form>
EOP;
    exit;
}
if (!isset($_DB)) {
    $_DB = new SQLite3($_CONFIG["DATABASE"]);
}
if ($mode == "mail") {
    $addr = postOrDie("mail");
    $random = openssl_random_pseudo_bytes(32);
    $random = base64_encode($random);
    $q = $_DB->prepare("UPDATE Users SET Token = :1 WHERE Mail = :2");
    $q->bindParam(":1", $random);
    $q->bindParam(":2", $addr);
    $q->execute();
    if ($_DB->changes() > 0) {
        $link = $_CONFIG["URL"] . "password.php?mode=token&token=" . urlencode($random);
        mail($addr, "Passwort vergessen", wordwrap("Hallo, fuer deinen Account bei " . $_CONFIG["URL"] . " wurde von der IP " . $_SERVER["REMOTE_ADDR"] . " ein neues Passwort angefordert.\n\n<a href=\"{$link}\">Klicke hier, um ein neues Passwort zu setzen</a>\n\nSollte der Link nicht funktionieren, kopiere ihn in deinen Browser:\n\n{$link}\n\nSolltest du kein neues Passwort angefordert haben, wende dich bitte an einen Administrator!\n", 70), "From: " . $_CONFIG["MAIL_FROM"]);
    }
    print "Sollte die angegebene Adresse in der Datenbank hinterlegt sein, so solltest du gleich eine E-Mail mit einem Link f&uuml;r ein neues Passwort bekommen.<br><br>Bis dein Anbieter die Mail empfangen hat, k&ouml;nnten bis zu 15 Minuten vergehen. Vergess auch nicht, mal einen Blick in deinen Spam-Ordner zu werfen, da die Mail dort einsortiert werden k&ouml;nnte.<br><br>Sollte auch nach l&auml;ngerer Zeit keine E-Mail gekommen sein, kontaktiere bitte einen Administrator.";
    exit;
}
$token = "auth";
if ($mode == "token") {
    $token = getOrDie("token");
    if (strlen($token) < 10) {
        print "Token is too short!";
        die;
    }
    $q = $_DB->prepare("SELECT * FROM Users WHERE Token = :1");
    $q->bindParam(":1", $token);
 public function affected_rows()
 {
     return $this->handler->changes();
 }
示例#22
0
#Define Database
$db = new SQLite3('./mastiff/mastiff.db');
#Get all records from DB for this file with no ticket#
$result = $db->query('SELECT * FROM files WHERE filename LIKE "%' . $md5hash . '%" OR ticket = "" OR filename = "/var/www/upload/malware/' . $new_file_name . '"');
while ($res = $result->fetchArray()) {
    #echo '$res["ticket"]: '.$res['ticket'];
    if ($res['ticket'] == '') {
        #echo '<pre>'.var_dump($res).'</pre>';
        $notes = $db->escapeString($notes);
        $subip = $db->escapeString($_SERVER['REMOTE_ADDR']);
        $command2 = 'UPDATE files SET ticket = "' . $ticket . '", notes = "' . $notes . '", ip = "' . $subip . '" WHERE id = "' . $res['id'] . '"';
        $query = $db->exec($command2);
        if (!$query) {
            exit("Error in query.");
        } else {
            $updateTable = 'Number of rows modified: ' . $db->changes();
        }
    } else {
        $command2 = '<b><u>NOTICE</u></b> - This file was previously uploaded: <a href="./md5page.php?idmd5=' . $md5hash . '">' . $md5hash . '</a>';
        $updateTable = 'If you wish to update the notes/ticket#, please re-name the file and upload it again.';
    }
}
#Print any results
echo '<div class="datapoint">';
echo '<div class="attribute">';
echo 'Mastiff Run Result: ';
echo '</div><div class="atrdata">';
var_dump($masResult);
#Should return 'NULL'
echo '</div></div>';
echo '<div class="datapoint">';
示例#23
0
             $table = 'eeprom';
             break;
         case 'R':
         case 'W':
             $table = 'timers';
             break;
         case 'T':
             $table = 'trace';
             break;
         default:
             $table = null;
     }
     echo " table {$table}\n";
     if ($table !== null) {
         $db->query("UPDATE {$table} SET time=" . time() . ",value={$value} WHERE addr={$addr} AND idx={$idx}");
         $changes = $db->changes();
         if ($changes == 0) {
             $db->query("INSERT INTO {$table} (time,addr,idx,value) VALUES (" . time() . ",{$addr},{$idx},{$value})");
         }
     }
 } else {
     if ($data[0] == 'V') {
         $db->query("UPDATE versions SET time=" . time() . ",data='{$data}' WHERE addr={$addr}");
         $changes = $db->changes();
         if ($changes == 0) {
             $db->query("INSERT INTO versions (addr,time,data) VALUES ({$addr}," . time() . ",'{$data}')");
         }
     } else {
         if (($data[0] == 'D' || $data[0] == 'A') && $data[1] == ' ') {
             $items = explode(' ', $data);
             unset($items[0]);
示例#24
0
文件: index.php 项目: arsenicum32/php
// if (mysqli_query($conn, $sql)) {
//     echo "Table MyGuests created successfully";
// } else {
//     echo "Error creating table: " . mysqli_error($conn);
// }
// mysqli_close($conn);
//$db = new SQLite3('one.db');
//$results = $db->query('CREATE TABLE people(id INTEGER PRIMARY KEY,vk INTEGER, desktop TEXT,liked TEXT);');
//$results = $db->query('INSERT INTO people (vk,desktop,liked) VALUES (3213,"one","two");');
// require_once('one.db');
// $sql="SELECT vk FROM people";
//
// $result = mysql_query($sql);
// echo [$result];
# code...
//echo [$db->query('SELECT COUNT(vk) FROM people')];
?>

<?php 
//$dbhandle = new SQLiteDatabase('sqlite.db');
$dbhandle = new SQLite3('mysqlite.db');
$query = $dbhandle->queryExec("CREATE TABLE people(id INTEGER PRIMARY KEY,vk INTEGER, desktop TEXT,liked TEXT);", $error);
if (!$query) {
    exit("Ошибка в запросе: '{$error}'");
} else {
    echo 'Количество затронутых рядов: ', $dbhandle->changes();
}
// $result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
// foreach ($result as $entry) {
// 		echo 'Имя: ' . $entry['name'] . '  E-mail: ' . $entry['email'];
// }
 public function affectedRows()
 {
     return $this->dbConn->changes();
 }
示例#26
0
 /**
  * {@inheritdoc}
  */
 public function exec($statement)
 {
     $this->_conn->exec($statement);
     return $this->_conn->changes();
 }
示例#27
0
 public function exec($q)
 {
     if (parent::exec($q) === false) {
         $this->errormsg = parent::lastErrorMsg();
         return false;
     }
     return intval(parent::changes());
 }
<?php

$dbd = new SQLite3('/home/pi/domoticz/domoticz.db');
$tables = array('LightingLog', 'Meter', 'Meter_Calendar', 'MultiMeter', 'MultiMeter_Calendar', 'Temperature', 'Temperature_Calendar', 'Percentage', 'Percentage_Calendar');
foreach ($tables as $table) {
    $sql = 'delete FROM ' . $table . ' WHERE "DeviceRowID" not in (select ID from DeviceStatus where Used = 1)';
    if (!($result = $dbd->exec($sql))) {
        die('There was an error running the query [' . $db->error . ']');
    }
    echo $table . ' : ' . $dbd->changes() . '<br>';
}