Thread komischer create table fehler
(0 answers)
Opened by supersucker at 2005-11-17 18:11
hi,
folgendes: hab eine einfache funktion die mir anhand uebergegebener parameter zunaechst mal eine tabelle mit zwei spalten erzeugt. ist dies erfolgt werden spalten des gleichen typs (nur der name ist anders) hinzugefuegt. aber das script ist so einfach, dass man es beim lesen besser versteht als ich es verbal erklaeren koennte: Code: (dl
)
1 function createMatrixTable($pCaption1, $pMaxX, $pCaption2, $pMaxY, $pMasterID) { (das letzte alleinstehende semikolon vor dem mysql_close gibt es nicht! das hat das board aus was für gründen auch immer eingefügt! auch die formatierung hat es zerlegt....) und aufrufen tue ich es so (unter der funktionsdefinition, in der gleichen datei, sonst steht in der datei nichts): Code: (dl
)
createMatrixTable("seg", 6, "sli", 6, "masterID"); rufe ich es nun in der konsole auf (Fedora Core 4): Code: (dl
)
php createMatrixTables.php so laeuft das script beim ersten mal durch und die tabelle wird wie gewuenscht erzeugt, der name waere also nach obigem beispiel seg_6_sli_6_masterID (und das ist auch die einzige tabelle die die datenbank enthält). bis hierher alles ok, aber ab jetzt hoert mein verstaendnis auf: aendere ich nun den funktionsaufruf: Code: (dl
)
createMatrixTable("seg", 5, "sli", 5, "masterID"); also die 6 in die 5 und rufe das script erneut auf: Code: (dl
)
php createMatrixTables.php kriege ich: Quote zuerst dachte ich, dass mysql vielleicht damit nicht klarkommt dass eine spalte (naemlich die letzte) immer genauso heisst (bis zur masterid) wie der name der tabelle, dem ist nicht so... ja, und jetzt steh ich voellig ratlos da und hab nicht die geringste ahnung woran zum geier denn das haengen soll... 1. warum klappt es genau einmal, naemlich beim ersten funktionsaufruf, danach krieg ich ,obwohl ich die parameter im funktionsauf aendere und damit auch den tabellennamen der neuen tabelle aendere immer obige fehlermeldung 2. warum gibt es dieses problem ueberhaupt? um diesen fehler zu erhalten muesste ich doch innerhalb der funktion das gleiche "create table" -statement zweimal aufrufen. das tue ich aber nicht wie zu sehen ist. danke für jeden tip, bin mit meinen ideen am ende......... P.S.: sorry wenn die formatierung der funktion sch.... aussieht, aber das forum hier zerhaut meine komplette formatierung... |