Forum und email

sqlite_open

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_open — הפונקציה פותחת בסיס נתונים ב SQLite. במקרה ואין בסיס נתונים בעל שם זהה, הפונקציה תיצור בסיס נתונים חדש.

תיאור

resource sqlite_open ( string $filename [, int $mode [, string $&error_message ]] )

הפונקציה מחזירה משאב במקרה של הצלחה ו FALSE אחרת

הפרמטרfilename , מייצג את שם בסיס הנתונים. הוא יכול להיות נתיב מוחלט או יחסי, למיקום הקובץ שמשמש כבסיס נתונים. אם הקובץ לא קיים SQLite תיצור קובץ בשם הזה. על מנת להכניס נתונים,או לשנות את הסכימה של בסיס הנתונים ,חייב להיות לך אישור כתיבה לקובץ

הפרמטר mode ,משמש לתאר את המצב שבו יפתח הקובץ, כשהמטרה היא לאפשר פתיחת קובץ לקריאה בלבד. כרגע SQLITE מתעלמת מהפרמטר הזה. ערך ברירת המחדל של הפרמטר mode , הוא 0666 בבסיס 8(אוקטאלי). זה הערך המומלץ אם אתה צריך אפשרות גישה לפרמטר errmessage .

הפרמטר errmessage מועבר ע"י מצביע, ומחזיק בתוכו תיאור של השגיאה שמנעה את פתיחת בסיס הנתונים.

Example#1 sqlite_open() example

<?php
if ($db sqlite_open('mysqlitedb'0666$sqliteerror)) { 
    
sqlite_query($db,'CREATE TABLE foo (bar varchar(10))');
    
sqlite_query($db,"INSERT INTO foo VALUES ('fnord')");
    
$result sqlite_query($db,'select bar from foo');
    
var_dump(sqlite_fetch_array($result)); 
} else {
    die (
$sqliteerror);
}
?>

Tip

במערכת SQLITE, Unix רגישה לסקריפטים שמשתמשים בקריאה ל fork(); אם אתה משתמש בסקריפט כזה מומלץ לסגור את הקשר לבסיס הנתונים לפני השימוש ב fork(); ולפתוח אותו מחדש בתהליך האב ו/או הבן), למידע נוסף בנושא, ראה: » The C language interface to the SQLite library in the section entitled Multi-Threading And SQLite.

Tip

לא ממולץ להתקין SQLITE על מערכות שעובדות בשיטת NFS, בגלל בעיות בנעילת קבצים במערכת כזאת, בסיס הנתונים עלול להיות לא ניתן לקריאה , או להתנהג בצורה מעורפלת.

Note: החל מגירסה 2.8.2 של SQLITE, ניתן לאפיין :memory: בתור ה filename , על מנת ליצור בסיס נתונים שמתקיים רק בזיכרון המחשב. בסיס נתונים כזה יעיל בעיקר בתהליכונים זמניים, כשבסיס הנתונים יושמד עם סיום התהליך. או במקרה של שימוש ב פקודת SQL ATTACH DATABASE בשביל לעבוד עם שני בסיסי נתונים בו זמנית, ולהעביר מידע ביניהם

Note: SQLite היא safe mode ומותאמת ל open_basedir aware.

ראה גם sqlite_popen(), sqlite_close() ו sqlite_query().