WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Und wiedereinmal PHP / Mysql (http://www.wcm.at/forum/showthread.php?t=237962)

zAPPEL 15.01.2010 22:22

Die ist im myAdmin weiter oben weil die alphabetisch sortiert werden - das kanns also nicht sein. Ich weiß, dass man Strings in Komma setzen muss in der query, aber einem Integer-Feld kann man doch auch ein '1' übergeben.
Gerade in einer Datenbank getestet: INSERT INTO table1 (name,lastactivity,createdby) VALUES ('test','1','1') funktioniert, wobei createdby und lastactivity INT Felder sind. Das kanns also nicht sein :)

Wenn die Zeichenlänge zu gering ist funktioniert der INSERT trotzdem, aber der Text wird abgeschnitten.

Was sag phpMyAdmin wenn du die Echo-Ausgabe dort ausführst?

lg Matthias

{jellyfish} 15.01.2010 23:25

Ok, auch gut. Hat bei mir oft troubles geben wegen den Datentypen.
Dann weiß ich leider auch nix mehr, zumindest fällt mir momentan nix ein.

grüsse, jellyfish

ZombyKillah 16.01.2010 02:49

Bitte lesen:
Zitat:

Zitat von zAPPEL (Beitrag 2399155)
Ich verwende für SQL Abfragen meistens die adodb: http://adodb.sourceforge.net/

Ich sehe bei deinem Skript auf die schnelle auch keinen Fehler, ist natürlich schwern wenn man nicht auf den Server zugreifen kann. Query ausgeben und in phpMyAdmin eingeben ist aber immer eine einfache Möglichkeit rauszufinden was das Problem ist.

SQL Error kann man sich auch ausgeben lassen:

PHP-Code:

$eintragen mysql_query($eintrag)
or die (
mysql_error()); 

Btw. pack PHP Code in PHP Tags im Forum, das macht das ganze viel besser lesbar.

lg Matthias

Und den Teil einmal einfügen:
PHP-Code:

or die (mysql_error()); 

Weiteres kontrollieren, ob die ' das richtige Symbol ist.
Würde stattdessen vielleicht \" schreiben.

zAPPEL 17.01.2010 10:28

Die Anführungszeichen sollten kein Problem sein, ein \" macht das ganze imho nur unleserlicher.

lg

Honk 18.01.2010 15:11

Hallo
Danke für eure bisherige Mithilfe :-)

Ich habe jetzt
$eintragen = mysql_query($eintrag)
or die (mysql_error());

eingetragen und bekomme folgende Meldung:

"Anzahl der Felder stimmt nicht mit der Anzahl der Werte in Zeile 1 überein"

Äh ... was??

Ich habe jeweils 12 Felder (Formular, Script und DB; siehe Bild)
.... was will mysql von mir :confused:

http://klhoon.com/php3.jpg

T.dot 18.01.2010 18:21

Also wenn dein PHP wirklich so aussieht:

$eintrag = "INSERT INTO $mysqltabelle (vorname, name, ort, plz, strasse, jahr, geschlecht, kategorie, verein, uci, email, telefon) VALUES ('$vorname', '$name', '$ort', '$plz' '$strasse', '$jahr','$geschlecht', '$kategorie', '$verein', '$uci', '$email', '$telefon')";

dann fehlt zwischen '$plz' '$strasse' ein Beistrich.

Dann hast du nämlich in den Columns 12, in den Values aber nur 11 Werte.


Wenn ich mir das ansehe:
INSERT INTO kids (vorname, name, ort, plz, strasse, jahr, geschlecht, kategorie, verein, uci, email, telefon) VALUES ('klaus', 'xxxxx', 'xxxx', 'xxx' 'xxxxxx, 'xxxx','männlich', 'U 5', 'RC', '3434343', 'xxxxx@gmx.at', '343434343')

ist dort der gleiche Fehler. Wenn du diesen String 1:1 ins PhpMyAdmin kopiert hättest, wäre dort auch ein Fehler gekommen. Abgesehen davon fehlt in diesem Statment bei 'xxxxxx, ein Hochkomma. Aber ich vermut mal, das ist nur durchs Kopieren flöten gegangen...


Und wie ich grad noch seh, sind alle deine Datentypen TEXT. Hier solltest du Nvarchar mit sinnvoller Länge verwenden...

Honk 18.01.2010 18:32

Zitat:

Zitat von T.dot (Beitrag 2399555)
dann fehlt zwischen '$plz' '$strasse' ein Beistrich.

Dann hast du nämlich in den Columns 12, in den Values aber nur 11 Werte.

T.dot IST MEIN HELD !!!!
:laola:

Danke, genau das wars :-)

Danke an Alle und t´schuldigung, dass ich euch wegen einem Beistrich so lange belästigt hab´ :D

thx
honk


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag