खोज…


डेटाबेस को छोड़ना

<?php
//Create a new SQLite3 object from a database file on the server.
$database = new SQLite3('mysqlitedb.db');

//Query the database with SQL
$results = $database->query('SELECT bar FROM foo');

//Iterate through all of the results, var_dumping them onto the page
while ($row = $results->fetchArray()) {
    var_dump($row);
}
?>

Http://www.riptutorial.com/topic/184 भी देखें

केवल एक परिणाम प्राप्त करना

लिमिट एसक्यूएल स्टेटमेंट का उपयोग करने के अलावा आप एकल पंक्ति, या पहले कॉलम को पुनः प्राप्त करने के लिए SQLite3 फ़ंक्शन querySingle का भी उपयोग कर सकते हैं।

<?php
$database = new SQLite3('mysqlitedb.db');

//Without the optional second parameter set to true, this query would return just
//the first column of the first row of results and be of the same type as columnName
$database->querySingle('SELECT column1Name FROM table WHERE column2Name=1');

//With the optional entire_row parameter, this query would return an array of the
//entire first row of query results.
$database->querySingle('SELECT column1Name, column2Name FROM user WHERE column3Name=1', true);
?>

SQLite3 क्विकस्टार्ट ट्यूटोरियल

यह सभी आमतौर पर उपयोग किए जाने वाले SQLite से संबंधित API का एक पूर्ण उदाहरण है। उद्देश्य है कि आप उठें और वास्तव में तेजी से दौड़ें। आप इस ट्यूटोरियल की रन करने योग्य PHP फ़ाइल भी प्राप्त कर सकते हैं।

डेटाबेस बनाना / खोलना

पहले एक नया डेटाबेस बनाते हैं। इसे तभी बनाएँ जब फ़ाइल मौजूद न हो और इसे पढ़ने / लिखने के लिए खोलें। फ़ाइल का विस्तार आपके ऊपर है, लेकिन .sqlite बहुत सामान्य और आत्म-व्याख्यात्मक है।

$db = new SQLite3('analytics.sqlite', SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE);

एक तालिका बनाना

$db->query('CREATE TABLE IF NOT EXISTS "visits" (
    "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
    "user_id" INTEGER,
    "url" VARCHAR,
    "time" DATETIME
)');

नमूना डेटा सम्मिलित करना।

संबंधित प्रश्नों को लेन-देन ( BEGIN और COMMIT ) में लपेटना उचित है, भले ही आप एटमॉसिटी की परवाह न करें। यदि आप ऐसा नहीं करते हैं, तो SQLite स्वचालित रूप से लेनदेन में हर एक क्वेरी को लपेटता है, जो सब कुछ बेहद धीमा कर देता है। यदि आप SQLite में नए हैं, तो आपको आश्चर्य हो सकता है कि INSERT इतने धीमे क्यों हैं

$db->exec('BEGIN');
$db->query('INSERT INTO "visits" ("user_id", "url", "time")
    VALUES (42, "/test", "2017-01-14 10:11:23")');
$db->query('INSERT INTO "visits" ("user_id", "url", "time")
    VALUES (42, "/test2", "2017-01-14 10:11:44")');
$db->exec('COMMIT');

तैयार स्टेटमेंट के साथ संभावित असुरक्षित डेटा डालें। आप नामित मापदंडों के साथ ऐसा कर सकते हैं:

$statement = $db->prepare('INSERT INTO "visits" ("user_id", "url", "time")
    VALUES (:uid, :url, :time)');
$statement->bindValue(':uid', 1337);
$statement->bindValue(':url', '/test');
$statement->bindValue(':time', date('Y-m-d H:i:s'));
$statement->execute(); you can reuse the statement with different values

डेटा लाया जा रहा है

आइए आज # 42 के उपयोगकर्ता की यात्राओं को प्राप्त करें। हम फिर से एक तैयार किए गए कथन का उपयोग करेंगे, लेकिन इस बार गिने हुए मापदंडों के साथ, जो अधिक संक्षिप्त हैं:

$statement = $db->prepare('SELECT * FROM "visits" WHERE "user_id" = ? AND "time" >= ?');
$statement->bindValue(1, 42);
$statement->bindValue(2, '2017-01-14');
$result = $statement->execute();

echo "Get the 1st row as an associative array:\n";
print_r($result->fetchArray(SQLITE3_ASSOC));
echo "\n";

echo "Get the next row as a numeric array:\n";
print_r($result->fetchArray(SQLITE3_NUM));
echo "\n";

नोट: यदि कोई और पंक्तियाँ नहीं हैं, तो fetchArray () false । आप कुछ while लूप में इसका लाभ उठा सकते हैं।

स्मृति मुक्त करें - यह स्वचालित रूप से नहीं किया जाता है, जबकि आपकी स्क्रिप्ट चल रही है

$result->finalize();

shorthands

यहां एक एकल पंक्ति को साहचर्य सरणी के रूप में लाने के लिए एक उपयोगी शॉर्टहैंड है। दूसरा पैरामीटर का मतलब है कि हम सभी चयनित कॉलम चाहते हैं।

बाहर देखें, यह आशुलिपि पैरामीटर बंधन का समर्थन नहीं करती है, लेकिन आप इसके बजाय तार से बच सकते हैं। मान को हमेशा SINGLE उद्धरणों में रखें! डबल कोट्स का उपयोग टेबल और कॉलम नामों (MySQL में बैकटिक्स के समान) के लिए किया जाता है।

$query = 'SELECT * FROM "visits" WHERE "url" = \'' .
    SQLite3::escapeString('/test') .
    '\' ORDER BY "id" DESC LIMIT 1';

$lastVisit = $db->querySingle($query, true);

echo "Last visit of '/test':\n";
print_r($lastVisit);
echo "\n";

सिर्फ एक मूल्य प्राप्त करने के लिए एक और उपयोगी आशुलिपि।

$userCount = $db->querySingle('SELECT COUNT(DISTINCT "user_id") FROM "visits"');

echo "User count: $userCount\n";
echo "\n";

सफाई करना

अंत में, डेटाबेस को बंद करें। यह स्वचालित रूप से किया जाता है जब स्क्रिप्ट खत्म हो जाती है, हालांकि।

$db->close();


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow