• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

mySQL prob

gim~li

Guest
Folgender Fehler tritt auf, wenn ich nachfolgenden mySQL Befehl ausführen möchte:
"You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL"

================

"INSERT INTO $tablename
(id, group_id, nick, name, f_name, tele, tele_mobile, location, zip, street, house_number, bday, email, icq, comment)

VALUES (NULL, $group_id, $nick, $name, $f_name, $tele, $tele_mobile, $location, $zip, $street, $house_number, $bday, $email, $icq, $comment)";

hilfe wäre thx ... :)
 

killerchicken_inaktiv

Guest
"INSERT INTO $tablename
(id, group_id, nick, name, f_name, tele, tele_mobile, location, zip, street, house_number, bday, email, icq, comment)

VALUES (, $group_id, $nick, $name, $f_name, $tele, $tele_mobile, $location, $zip, $street, $house_number, $bday, $email, $icq, $comment)";
 

gim~li

Guest
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1

($group_id war in diesem falle 1)
immer noch ...

Ich versteh das auch nicht, weil so, wie ichs vorher hatte, hat das in mehreren Programmen die ich früher geschrieben hab auch schon geklappt.
Wirklich sehr misteriös ... :(
 
Mitglied seit
02.08.2002
Beiträge
2.781
Reaktionen
0
naja wäre noch interessant zu wissen wie deine tabelle aufgebaut ist - manchmal steckt auch dort das probelem - ansonsten kann ich eigentlich auch kein fehler finden
 

cart

Technik/Software Forum
Mitglied seit
01.08.2002
Beiträge
4.873
Reaktionen
0
Ort
New York
$id ist normal auto_increment (das nur am rande...) ansonsten setz $id vorher einfach NULL und dann:

INSERT INTO $tablename
id,group_id,nick,name,f_name,tele,tele_mobile,location,zip,street,house_number,bday,email,icq,comment
VALUES
$id,$group_id,$nick,$name,$f_name,tele,$tele_mobile,$location,$zip,$street,$house_number,$bday,$email,$icq,$comment
 
Mitglied seit
02.08.2002
Beiträge
2.781
Reaktionen
0
hmm wenn du id als autoincrement eingestellt hast dann solltest du es einfach weglassen:

"INSERT INTO $tablename
(group_id, nick, name, f_name, tele, tele_mobile, location, zip, street, house_number, bday, email, icq, comment)

VALUES ($group_id, $nick, $name, $f_name, $tele, $tele_mobile, $location, $zip, $street, $house_number, $bday, $email, $icq, $comment)";
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
schonmal dran gedacht hochkommatas bei strings zu setzen ?

z.B bei name '$name' in values und das bei allen anderen strings auch, am besten gleich noch alle strings mit addslashes escapen :elefant:
 

gim~li

Guest
erstma thx
id ist tatsächlich auto increment. group_id und id sind zugleich auch index.

wenn ich das von eniman mache kommt:
"You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' wert)' at line 4"

$comment war "wert" - allerdings scheint das problem nu am ende des befehls zu entstehen ...

@dari
ich hatte auch erst hockkommata um jeden eintrag, der varchar in der tabelle ist, allerdings gabs da das gleiche problem.
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
und dein jetziges prob kommt daher das du sie nicht mehr hast denk ich mal :)
 
Mitglied seit
02.08.2002
Beiträge
2.781
Reaktionen
0
jo das stimmt natürlich ' und addslashes sind pflicht :)
 

gim~li

Guest
selber error wie vorher ... :cry:

hier mal die struktur:

# Tabellenstruktur für Tabelle `adressbuch`
#

CREATE TABLE adressbuch (
id int(11) NOT NULL auto_increment,
group_id int(11) NOT NULL default '0',
nick varchar(20) NOT NULL default '',
name varchar(30) NOT NULL default '',
f_name varchar(20) NOT NULL default '',
tele varchar(30) NOT NULL default '',
tele_mobile varchar(30) NOT NULL default '',
location varchar(30) NOT NULL default '',
zip varchar(20) NOT NULL default '',
street varchar(30) NOT NULL default '',
house_number varchar(8) NOT NULL default '',
bday varchar(10) NOT NULL default '',
email varchar(40) NOT NULL default '',
icq int(12) NOT NULL default '0',
comment text NOT NULL,
KEY id (id),
KEY group_id (group_id)
) TYPE=MyISAM;
 

gim~li

Guest
wie ihrs gesagt habt:

$sql = "INSERT INTO $tablename
(group_id, nick, name, f_name, tele, tele_mobile, location, zip, street, house_number, bday, email, icq, comment)

VALUES ($group_id, '$nick', '$name', '$f_name', '$tele', '$tele_mobile', '$location', '$zip', '$street', '$house_number', '$bday', '$email', $icq, '$comment')";
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
also das query stimmt so wenn der inhalt der variablen stimmt, lass mal $sql ausgeben und poste das :)
 

killerchicken_inaktiv

Guest
INSERT INTO $tablename ( `id` , `group_id` , `nick` , `name` , `f_name` , `tele` , `tele_mobile` , `location` , `zip` , `street` , `house_number` , `bday` , `email` , `icq` , `comment` )
VALUES (
'', '$group_id', ' $nick', '$name', '$f_name', '$tele', '$tele_mobile', '$location', '$zip', '$street', '$house_number', '$bday', '$email', '$icq', '$comment'
)
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
glaub nich das es das verbessert, sonst hätte er den error bei nem feldnamen ausgespuckt :p
 

gim~li

Guest
hm, was ist denn $sql?

die meldung war der mysql error

kann nicht ma wer versuchen die db anzulegen und die query auszuführen?
notfalls poste ich dann noch das komplette script hier (is net viel)
 

killerchicken_inaktiv

Guest
Original geschrieben von killerchicken
INSERT INTO $tablename ( `id` , `group_id` , `nick` , `name` , `f_name` , `tele` , `tele_mobile` , `location` , `zip` , `street` , `house_number` , `bday` , `email` , `icq` , `comment` )
VALUES (
'', '$group_id', ' $nick', '$name', '$f_name', '$tele', '$tele_mobile', '$location', '$zip', '$street', '$house_number', '$bday', '$email', '$icq', '$comment'
)

meinst du ich hab das zum spaß gepostet? ich hab die table angelegt, und mit genau diesem query funktioniert alles...
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
@killerchicken

selbst wenns bei dir funzt heisst nich das es bei anderen funzt, du kennst seinen variablen inhalt ja nich :)
 
Mitglied seit
11.08.2002
Beiträge
1.206
Reaktionen
0
was ist das eingentlich mit diesen addslahes?? das habe ich noch nie verwendet...
 
Mitglied seit
20.09.2001
Beiträge
1.355
Reaktionen
0
Original geschrieben von [altschul]Hash
was ist das eingentlich mit diesen addslahes?? das habe ich noch nie verwendet...

du wirst probleme bekommen sobald spezielle sonderzeichen in deinen strings auftreten \ " ' etc
diese werden mitm backslash escaped, ansonsten kriegst bei mysql querys nen error weil unescapte strings mit diesen zeichen den mysql syntax zerlegen :)
 

gim~li

Guest
Original geschrieben von killerchicken


meinst du ich hab das zum spaß gepostet? ich hab die table angelegt, und mit genau diesem query funktioniert alles...
Also vielen Dank - so geht es wirklich.
Aber ich kann mir immer noch nicht erklären, wieso meine Versuche nicht geklappt haben ... :confused:
 

Xirtam

Guest
hm ich seh den fehler da jetzt nicht, aber benutz doch lieber ne andere syntax:
Code:
$query = "
	INSERT
		$tablename
	SET
		group_id='$group_id',
		nick='$nick',
		name='$name',
		f_name='$fname',
		tele='$tele',
		tele_mobile='$tele_mobile',
		location='$location',
		zip='$zip',
		street='$street',
		house_number='$house_number',
		bday='$bday',
		email='$email',
		icq='$icq',
		comment='$comment'
";

habs schon getestet, funktioniert
 
Oben