Unterschiede Sqlite von Xampp und Lampp

Alles, was PHP betrifft, kann hier besprochen werden.

Unterschiede Sqlite von Xampp und Lampp

Postby piratos » 08. February 2006 13:30

Wenn ich unter Xampp Windows folgenden Query laufen lasse:

$query = "SELECT c.content_id, c.content_name, c.content_alias, c.menu_text, c.hierarchy, c.metadata, c.id_hierarchy, c.prop_names, c.modified_date AS c_date, c.cachable, t.template_id, t.encoding, t.modified_date AS t_date FROM ".cms_db_prefix()."templates t INNER JOIN ".cms_db_prefix()."content c ON c.template_id = t.template_id WHERE (c.content_alias = ? OR c.content_id = ?) AND c.active = 1";

befinden sich die Ergbenisse z.B. in row['content_id'] etc.

Beim gleichen Query unter Linux liegen die Ergebnisse anders z.B.

row['c.content_id']

Der unangenehme Effekt ist der, das die unter Windows erstellten Teile unter Linux in den nachfolgenden Teilen nicht laufen, da die Ergebnisse nicht wie erwartet vorliegen.

Verwende Xampp und Lampp in der aktuellen Version.

Ist das nun ein genereller Unterschied zwischen beiden Sqlite - Versionen oder woran liegt es.

Wenn es ein genereller Unterschied ist, der auch ausserhalb von Xampp / Lampp zu finden ist, dann kann ich mir da problemlos helfen.

Ist es nur ein Unterschied zwischen Xampp und Lampp und nicht allgemein gültig, hätte ich ein Problem - dann wäre diese Distribution für mich zur Entwicklung von Sqlite Anwendungen nicht geeigenet.
piratos
 
Posts: 45
Joined: 28. October 2004 10:10

Postby Wiedmann » 08. February 2006 14:05

Ist das nun ein genereller Unterschied zwischen beiden Sqlite - Versionen oder woran liegt es.

Welche SQLite-Versionen hast du denn jeweils?

row['content_id'] vs. row['c.content_id']

hört sich danach an (SQLite-Doku):
Code: Select all
PRAGMA short_column_names = 1
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby piratos » 08. February 2006 15:20

Beides Xampp 1.5.1

Sqlite Lib unter Linux ist 2.8.9 und unter Windows 2.8.17
piratos
 
Posts: 45
Joined: 28. October 2004 10:10

Postby KingCrunch » 08. February 2006 15:56

PRAGMA short_column_names;
PRAGMA short_column_names = 0 | 1;

Query or change the short-column-names flag. This flag affects the way SQLite names columns of data returned by SELECT statements when the expression for the column is a table-column name or the wildcard "*". Normally, such result columns are named <table-name/alias>lt;column-name> if the SELECT statement joins two or more tables together, or simply <column-name> if the SELECT statement queries a single table. When the short-column-names flag is set, such columns are always named <column-name> regardless of whether or not a join is performed.

SQLite Doc
Es ist auch erwähnt, dass für einige Kommandos SQLite mit diesen kompiliert sein musst. Probier einfach mal aus.
Code: Select all
$sqlite->query("PRAGMA short_column_names = 1");

Oder eben auch 0, je nachdem in welche Richtung du dein script anpassen willst ;)
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby piratos » 08. February 2006 16:11

Die Sache mit dem Pragma war's.

Danke.
piratos
 
Posts: 45
Joined: 28. October 2004 10:10


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests