Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 11
Seite [1]
Sheppard


Rock the board




Beiträge: 48
# Thema - 22.01.2010 um 12:24 Uhr
Hallo Leute,

wollte heute mal ein Clansphere mit Postgres SQL ausprobieren. Installation war ohne Probleme.

Wollte dann ein Modul anlegen, aber dabei kam es zu einem Fehler:

1. Wenn ich bei der Anlage des Moduls einen Fehler mache, dann wird das Modulverzeichnis trozdem angelegt und bei jedem weiteren versuch erhalte ich einene Fehlermeldung, dass er das Verzeichnis nicht anlegen kann.

PHP-Warning: Warning: mkdir() [function.mkdir]: File exists in E:\xampp\xampp\htdocs\postgres\mods\modules\create.php on line 80


2. Wenn ich dann alles richtig mache (meiner Meinung nach erhalte ich einen Fehlermeldung im debug:

PHP-Warning: Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "("
LINE 1: ALTER TABLE cs_access ADD access_orga int(2) NOT NULL...
^ in E:\xampp\xampp\htdocs\postgres\system\database\pgsql.php on line 134

Error: E:\xampp\xampp\htdocs\postgres\mods\modules\create.php -> cs_sql_query - ERROR: syntax error at or near "("
LINE 1: ALTER TABLE cs_access ADD access_orga int(2) NOT NULL...
^


Zeile 134 der besagten datei ist folgende:

if($sql_data = pg_query($cs_db['con'], $sql_query))


ich weiß nicht genau wo der fehler sitzt

EDIT

Wenn ich die SQL-Abfrage direkt in der Datenbank ausführe kommt ebenfalls der Fehler:


ERROR: syntax error at or near "("
LINE 1: ALTER TABLE cs_access ADD access_orga int(2) NOT NULL...


********** Fehler **********

ERROR: syntax error at or near "("
SQL Status:42601
Zeichen:49


SQL:
ALTER TABLE cs_access ADD access_orga int(2) NOT NULL default '0';


Ich glaube Postgres akzeptiert keine Längenangabe beim "int" denn wenn ich (2) wegmache dann gehts


Zuletzt editiert von Sheppard am 22.01.2010 um 13:02 Uhr (5x Editiert)
Inaktiv
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 1 - 22.01.2010 um 12:57 Uhr
Kannst mal die komplette .sql datei posten die du da versuchst zu installieren.
Sieht aus wie ein SQL fehler. Vielleich inkompatibilitaet zwisschen MySQL und PostgreSQL


Offline
|
Sheppard
Thread-Ersteller


Rock the board




Beiträge: 48
# Antwort: 2 - 22.01.2010 um 13:01 Uhr
ich installiere keine .sql datei das ist das was Clansphere generiert wenn ich ein neues Modul erstellen will über Clansphere selbst. Also frisch installed und dann modul angelegt.

Siehe mein Edit


Zuletzt editiert von Sheppard am 22.01.2010 um 13:01 Uhr (1x Editiert)
Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 3 - 22.01.2010 um 13:07 Uhr
http://www.postgresql.org/docs/8.4/interactive/datatype.html


Offline
|
Sheppard
Thread-Ersteller


Rock the board




Beiträge: 48
# Antwort: 4 - 22.01.2010 um 13:12 Uhr
Ja genau da steht es:

Typ: smallint
Alias: int2 <- nicht int(2)
Beschreibung: signed two-byte integer

also muss Clansphere seine SQL diesbezüglich ändern...

Also nochmal das ist kein Fehler den ich gemacht habe, dieser oben genannte ALTER Befehl wird so genereiert... SO geht es in mysql aber nicht bei postgres...

Greetz

EDIT
In der datei /mods/modules/create.php in der Zeile 109 ist der "Fehler"

$query = 'ALTER TABLE {pre}_access ADD access_'.cs_sql_escape($_POST['moddir']).' int(2) NOT NULL default \'0\';';


das kann man so nicht stehen lassen wenn man postgres verwendet.. Gleiches Problem wird mit sicherheit bei mehreren dateien auftreten wenn sie die funktion "cs_sql_query" aufgerufen wird


Zuletzt editiert von Sheppard am 22.01.2010 um 13:20 Uhr (3x Editiert)
Inaktiv
|
Mindcrime


Geekboy





Beiträge: 1155
# Antwort: 5 - 22.01.2010 um 13:21 Uhr
Sollte aber funktionieren:

weil in cs_sql_replace() von pgsql.php steht:
 
1.
1. / 2. / ... 
 return preg_replace("=int\((.*?)\)=si",'integer',$replace);


Ja, sollte sein:

 
1.
1. / 2. / ... 
 $query cs_sql_replace('ALTER TABLE {pre}_access ADD access_'.cs_sql_escape($_POST['moddir']).' int(2) NOT NULL default \'0\';');


Zuletzt editiert von Mindcrime am 22.01.2010 um 13:24 Uhr (2x Editiert)
Offline
|
Sheppard
Thread-Ersteller


Rock the board




Beiträge: 48
# Antwort: 6 - 22.01.2010 um 13:32 Uhr
das sc_sql_replace sollte dann aber lieber in cs_sql_query eingebaut werden damit diese änderungen auch gleich global übernommen werden wer weiß wo das noch auftritt was nur nicht gleich auffällt weil kaum einer nutzt
Aber danke so gehts auf jeden Fall nun


Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 7 - 22.01.2010 um 15:35 Uhr
hat einer von euch dies bereits im bugtracker eingetragen? denke wäre was fürs nächste bugfix release. werd mich dem dann in kürze annehmen und meldet bitte weitere fehler dieser art, danke


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
Sheppard
Thread-Ersteller


Rock the board




Beiträge: 48
# Antwort: 8 - 22.01.2010 um 15:51 Uhr
ich habe nix eingetragen müsste den erstmal finden


Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 9 - 22.01.2010 um 16:12 Uhr
Development -> Bugtracker

oben in der navigation dieser webseite


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
Sheppard
Thread-Ersteller


Rock the board




Beiträge: 48
# Antwort: 10 - 22.01.2010 um 19:48 Uhr
ok done


Inaktiv
|
hajo ClanSphere Team


VIP - Poster




Herkunft: Barsbüttel
Beiträge: 9411
# Antwort: 11 - 29.01.2010 um 01:04 Uhr
war scheinbar die einzige stelle, an der dieses problem in clansphere auftreten konnte. ist dort jetzt sehr nahe an mindcrimes lösung im svn umgesetzt, danke nochmal an alle


------------------
ClanSphere - professional clan care starts here

Inaktiv
|
Antworten: 11
Seite [1]


Sie müssen sich registrieren, um zu antworten.