コード例 #1
0
ファイル: utility2_oo.php プロジェクト: SandyS1/presentations
<?php

$db = new sqlite_db(":memory:");
$db->query("CREATE TABLE foobar (id INTEGER PRIMARY KEY, misc CHAR(10))");
$db->query("INSERT INTO foobar (misc) VALUES('Marcus');\n\t\t\tINSERT INTO foobar (misc) VALUES('Ilia')");
/* When performing multiple inserts within a single query 
 * only the id of very last insert is returned */
echo "Last id: " . $db->last_insert_rowid() . "<br />\n";
echo '<pre>';
print_r($db->array_query("SELECT * FROM foobar", SQLITE_ASSOC));
echo '</pre>';
コード例 #2
0
ファイル: oo_rec.php プロジェクト: SandyS1/presentations
$db = new sqlite_db("./ip.db");
// begin transaction
$db->query("BEGIN");
$fp = fopen("./ip-to-country.csv", "r");
$query_str = '';
while ($row = fgetcsv($fp, 4096)) {
    foreach ($row as $key => $val) {
        // secure data
        $row[$key] = sqlite_escape_string($val);
    }
    // check for existance of a country in db
    if (!($country_id = $db->single_query("SELECT id FROM country_data WHERE cc_code_2='{$cc}'"))) {
        // add new country
        if (!$db->query("INSERT INTO country_data \n\t\t\t(cc_code_2, cc_code_3, country_name) \n\t\t\tVALUES('{$row[2]}', '{$row[3]}', '{$row[4]}')")) {
            // fetch error
            $err_code = $db->last_error();
            printf("Query Failed %d:%s\n", $err_code, sqlite_error_string($err_code));
            exit;
        }
        // get ID for the last inserted row
        $country_id = $db->last_insert_rowid();
    }
    $query_str .= "INSERT INTO ip_ranges \n\t\t\t(ip_start, ip_end, country_code)\n\t\t\tVALUES({$row[0]}, {$row[1]}, {$country_id});";
}
// insert IP data via a chained query
$db->query($query_str);
// finalize transaction
$db->query("COMMIT");
fclose($fp);
// close database 'hack'
unset($db);