18-11-2015, 07:30
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
ייתכן שאין פלט כי יש שגיאה והיא רק בלוג ולא נפלטת למסך? בכל מקרה, נשמע לי מושג שגישה לקובץ mdb תעבוד out of the box במערכת שאינה חלונות.
בחזרה ל SQLite...
יצירת סכמת טבלה בשורת הפקודה:
קוד:
$ sqlite3 mikmak.sqlite
SQLite version 3.8.7.2 2014-11-18 20:57:56
Enter ".help" for usage hints.
sqlite> CREATE TABLE animals(animal_type text, animal_name text);
sqlite> .quit
קוד:
קוד PHP:
<?php
$sqlite = new SQLite3('mikmak.sqlite');
$sqlite->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");
?>
אחרי הרצתו, ניתן לראות שהמידע נוסף למסד הנתונים:
קוד:
$ sqlite3 mikmak.sqlite .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE animals(animal_type text, animal_name text);
INSERT INTO "animals" VALUES('kiwi','troy');
COMMIT;
ולמען האמת אפשר גם לעשות שקוד ה PHP ייצור אוטומטית את הסכמה (בעצם, קובץ ה SQLite) אם היא עדיין לא קיימת במקום שבו נפתח קובץ מסד הנתונים...
קוד PHP:
<?php
$sqlfile = 'mikmak.sqlite';
$create = (file_exists($sqlfile)) ? false : true;
$sqlite = new SQLite3($sqlfile);
if ($create)
$sqlite->exec("CREATE TABLE animals(animal_type text, animal_name text)");
$sqlite->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");
?>
שים לב שאין בכל דוגמאות הקוד error handling מכל סוג, זה כבר משהו שאתה תצטרך לטפל בו. ב SQLite, כיוון שלא מתחברים לשום מקום - השגיאות הסבירות הן: אי יכולת ליצור קובץ בגלל אי הרשאה לכתוב במקום שבו מנסים ליצור את הקובץ, או אי אפשרות לכתוב לקובץ משום שהוא כבר קיים אבל בבעלות של משתמש שהוא לא המשתמש שמריץ את קוד ה PHP, או שמערכת הקבצים היא read-only, או שנגמר המקום בדיסק, או שכל ה inodes מלאים.
|