Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit sql-tabelle erstellen...
Metallica 13-11-2001, 17:02 Hi Leuts,
schade dass man keine bilder in den beitrag laden kann.
naja, was solls. muss ich's halt schreiben.
Also irgendwie mag der sql-server keine tabelle erstellen.
ich hab da 'nen punkt "Table Create/Delete". Den klicke ich an. dann komm ich auf 'ne neue seite wo ich den namen und die felder angeben kann.
Bei den feldern steht:
Approximate # of Fields:
und in der danebenstehenden dropdownbox kann ich zwischen 10-100 wählen - selbst aber keinen wert eigeben.
Ich nehme mal an, damit sind die Spalten gemeint, oder??
OK, weiter. Ich vergebe also 'nen Namen "mytable", sage bei Fields: 10 und klicke auf den Button "Create".
Dann hab ich da stehen:
Field 1 Name: XXXXX Not null(mit checkbox) Type:Integer, Real, Text, Character und Size (jeweils mit Radiobutton) XXXXX
XXXXX => meine Eingabe
Das ganze steht insgesamt 10 mal da. Benötigen tue ich aber nur fünf Felder.
Die fülle ich aus, hackse überall Not null an und und klicke auf "Create Table". Und dann kommt immer "ParseError near line1".
Könnt ihr mir da weiterhelfen??
Anmerkung:
Die fünf Spalten sollten wie folgt aussehen:
ID___DATE___TIME___IP___USERNAME
Paßt es, wenn ich da überall text als Type nehme??
was haste denn für nen client?
Metallica 14-11-2001, 10:36 client???
also ich hab mSQL version 2.0.7 .
dann steht da noch:
Special Notes:
* Access to your MySQL Database will require that you supply your userid and password.
* Download myodbc, a Windows 95/NT ODBC Client, from the MySQL Homepage.
* For ODBC access use port 3306.
Hilft dir das weiter??
Metallica 14-11-2001, 12:02 OK, Sky. Ich hab's geschafft obwohl ich für "IDhr" kein auto_increment und primary key setzen konnte. War nicht im Menü meines Servers drinnen. Komisch!?!?!
Meine Table sieht auf jedenfall jetzt so aus:
Output:
Database = headrotation
Table = getit
+-----------------+----------+--------+----------+--------------+
| Field | Type | Length | Not Null | Unique Index |
+-----------------+----------+--------+----------+--------------+
| IDhr | text | 7 | Y | N/A |
| DATEhr | text | 30 | Y | N/A |
| TIMEhr | text | 20 | Y | N/A |
| IPhr | text | 20 | Y | N/A |
| NAMEhr | text | 6 | Y | N/A |
+-----------------+----------+--------+----------+--------------+
Dann hab ich da ein php-config-script dass wie folgt aussieht:
$database= "headrotation";
$sqlhost= "localhost";
$sqluser= "headrotation";
$sqlpass= "XXXX";
Soll ich jedesmal wenn ich was reinschreibe oder abfrage die Verbindung mit connect herstellen und am Ende wieder schließen???
P.S.: sorry, die Zeilen sind durchs kopieren ein bißchen verschoben!
schmalle 14-11-2001, 12:48 jip, erst connect --- dann close()
aber warum setzt du eine spalte text auf länge 7? wenn da eh nur so wenig reinkommt, nimm doch varchar ...
auto_increment geht auch nicht bei text!
Metallica 14-11-2001, 13:48 ja, kann ich machen. aber was heißt vachar genau??
Erläuterung:
Ich brauch keine riesige komplexe sql-DB.
Ich will lediglich die Besucher meiner Site erfassen und benötige dafür 5 Spalten.
ID____DATE____TIME____IP____NAME
Wenn er meine Seite betritt dann sollen diese fünf Dinge via php in die sqlDB eingetragen werden.
Date und Time hätte ich gerne getrennt in zwei spalten damit ich 'ne bessere übersicht habe.
das php-script sieht wie folgt aus:
<?php
$database= "headrotation"; //wobei die Table "getit" heißt
$sqlhost= "localhost";
$sqluser= "headrotation";
$sqlpass= "XXXX";
$verbindung = mysql_connect ( $sqlhost, $sqluser, $sqlpass);
if (!$verbindung) {
echo "Keine Verbindung möglich!\n";
exit;
}
$id= //die ID müßte von sql automatisch fortlaufend erzeugt werden => brauche ich also nicht extra eintragen, oder??
$date= //weiß nicht genau wie man NUR das Datum bekommt
$eintragenDATE="insert into headrotation (DATEhr) values ('$date')";
$time= //weiß ebenfalls nicht genau wie man NUR die Zeit bekommt
$eintragenTIME="insert into headrotation (TIMEhr) values ('$time')";
$ip=getenv(REMOTE_ADDR);
$eintragenIP="insert into headrotation (IPhr) values ('$ip')";
$eintragenNAME="insert into headrotation (NAMEhr) values ('$name')"; //die Variable $name bekomme ich von Flash!
mysql_close($verbindung);
?>
Wenn ich beginne, alle diese Infos einzutragen, macht dann sql automatisch 'ne neue Zeile bzw. Datensatz oder muss ich das vorher irgendwie "befehlen"??
Könnt ihr mir bei den Codelücken irgendwie weiterhelfen??
$id= //die ID müßte von sql automatisch fortlaufend erzeugt werden => brauche ich also nicht extra eintragen, oder??
Wenn das Feld ID Integerformat ist und als auto_increment markiert ist, ja.
$date = date("d.m.Y");
$time = date("H:i:s");
$ip=getenv(REMOTE_ADDR);
mysql_query("INSERT INTO getit SET DATEhr = '$date',TIMEhr = '$date',IPhr = '$ip',NAMEhr='$name'");
mysql_close($verbindung);
?>
Wenn ich beginne, alle diese Infos einzutragen, macht dann sql automatisch 'ne neue Zeile bzw. Datensatz [...]
Ja.
Metallica 14-11-2001, 16:41 ok. d.h., dass ich das feld ID auf integer und auto_increment ändern werde.
Und Date, Time, IP und Name kann ich wie bisher weiter als Type: Text lassen??
Hm... Kannst du natürlich, tut aber echt weh *aua* Mach es besser als VARCHAR.
Metallica 14-11-2001, 17:10 ok. auch kein problem. aber was heißt vachar. hab dazu nix in der doku gefunden!?!?!
http://www.mysql.com/doc/C/H/CHAR.html
Metallica 15-11-2001, 11:35 ok, Sky. Alles klar. Hab alles nachgelesen.
die ID mach ich als Integer mit auto_increment und die Felder DATE, TIME, IP und NAME als varchar.
Anm.: Das Feld NAME kann auch manchmal 'ne Zahl sein - ist das eh kein Problem mit varchar??
Noch was: Bin grad am Server und der bietet mir bei den Types folgende vier an:
Integer
Real
Text
Character
Welcher Type von denen ist VARCHAR?? Vielleicht Character??
[Editiert von Metallica am 15-11-2001 um 12:08]
Ja, du kannst hier wohl 'character' verwenden. Zahlen sind auch Zeichen, also gibt es hier keine Probleme.
Installier doch mal phpMyAdmin, deine Benutzeroberfläche scheint nicht sonderlich gut zu sein.
Metallica 15-11-2001, 13:44 ja Sky. Da bin ich gerade => siehe Beitrag "DB-Inhalt auslesen".
Pekka hat mir da ein bißchen weitergeholfen.
Lies dir mal kurz die paar antworten durch, dann weißt du wo ich grade hänge.
wenn das so weitergeht, wahrscheinlich bald am nächsten baum!!!
|
-
- |