कक्षा SQLiteDatabase
sqlite पुस्तकालय से एक वस्तु है, जो समर्थन पीएचपी 5.4 में गिरा दिया गया था है, लेकिन विभिन्न प्रणालियों और विन्यास पर, एक पहले के रिलीज में अक्षम किया जा सकता है के रूप में इस पुस्तकालय लंबे समय पदावनत किया जा रहा के रूप में चिह्नित किया गया था।
लाइब्रेरी php_sqlite.dll
(Windows) या php_sqlite.so
(लिनक्स) नहीं रह गया है पीएचपी के नए संस्करण में समर्थित है और php_sqlite3.dll
या php_sqlite3.so
क्रमशः से बदला गया।
आप कर सकते हैं:
कोशिश php_sqlite.dll
(php_sqlite.so
) इंटरनेट में कहीं खोजने के लिए। this या this जैसे लिंक आपके लिए सहायक हो सकते हैं। हालांकि, अगर आप ध्यान से सुरक्षित धागा या NTS
के लिए के लिए अपने PHP के मंच (x64
या x86
) करने के लिए पुराने SQLite पुस्तकालय फ़ाइल इंजन (VC6
, VC9
या VC11
), संस्करण (5.x
) और प्रकार (TS
मिलान करने के लिए, निर्माण होगा गैर धागा सुरक्षित)। यह एक कठिन काम हो सकता है।
छोड़ दो php_sqlite.dll
(SQLiteDatabase
) के पीछे और नए php_sqlite3.dll
(SQLite3
वस्तु) की ओर जहाज। आपको अपनी डेटाबेस फ़ाइल को 2.1 से 3.0 तक बदलने के लिए SQLite Studio जैसे टूल का उपयोग करना होगा (आकार को आधे से भी कम किया जा सकता है) और फिर सावधानी से SQLite और SQLite3 PHP मैन्युअल पृष्ठों को आवश्यक ऑब्जेक्ट्स और फ़ंक्शंस कॉल बदलने के लिए सावधानी से तुलना करें।
तो विकल्प दो, ध्यान दें कि यह एक मुश्किल काम नहीं होना चाहिए, के रूप में परिवर्तन है कि बड़ा नहीं कर रहे हैं।उदाहरण के लिए, क्या मैं अब तक सीखा है:
SQLiteDatabase
->SQLite3
,
SQLiteDatabase::unbufferedQuery
->SQLite3::query
,
SQLiteResult::fetchAll(SQLITE_*)
->SQLite3Result::fetchArray(SQLITE3_*)
आदि
प्राप्त करने में कठिनाई का सवाल है, में पुराना SQLite हमारे पास था:
$rowsIMEI = $db->unbufferedQuery($imeiSQL)->fetchAll(SQLITE_ASSOC);
foreach($rowsIMEI as $r)
{
...
}
, वहीं नई SQLite3 हम चाहिए में:
$rowsIMEI = $db->query($imeiSQL);
while($r = $rowsIMEI->fetchArray(SQLITE3_ASSOC))
{
...
}
अन्य परिवर्तनों काम के समान राशि की आवश्यकता है, तो यह एक जीवन समय प्रक्रिया नहीं होनी चाहिए।
मैं, निश्चित रूप से, किसी को भी आगे बढ़ने की सलाह देता हूं और दूसरा विकल्प चुनता हूं। ज्यादातर मामलों में प्रगति दो उपलब्ध विकल्पों में से एक बेहतर है।
बहुत बहुत धन्यवाद! मुझे लगता है कि मैं डीबी खोलने में सक्षम था क्योंकि अब त्रुटियों से संबंधित त्रुटियां हैं! अब मुझे सिंटैक्स सीखना है और सब कुछ! एक बार फिर धन्यवाद! – Jarvis