• hi,
    ich hab ein kleines problem mit meinem mysql_query / mit meiner Datenbank, ich weiss es nicht genau
    das problem ist, ich kann keine hochkommas in ein feld in meinem gästebuch packen, weil er mir dann nen error ausspuckt (pack ihn gleich mal hier rein)
    das komische ist, in einem anderen GB geht es ohne Probleme...

    query 1, dieser funktioniert (space1):

    Code
    mysql_query("INSERT INTO gaestebuch SET name = '".$name."', email = '".$email."', hp = '".$hp."', icq = '".$icq."', mitteilung = '".$mitteilung."', datum = '".$datum."', ip = '".$ip."'");

    query 2 auf space2, geht nich:

    Code
    if(mysql_query("INSERT INTO gbook SET name = '".$name."', email = '".$email."', homepage = '".$hp."', icq = '".$icq."', text = '".$text."', datum = '".$datum."'")) {

    query 3, gleicher space, geht auch nich (eig der gleiche):

    Code
    if(mysql_query("INSERT INTO gbook SET `name` = '".$name."', `email` = '".$email."', `homepage` = '".$hp."', `icq` = '".$icq."', `text` = '".$text."', `datum` = '".$datum."'")) {

    der einzige unterschied den ich so sehe ist, dass ich einen query in einer if-bedinung habe und den anderen nich 0o
    bin für jede hilfe dankbar ^^
    mfg

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • also insert into hat diesen syntax:

    INSER INTO tabelle (felder, felder) VALUES (werte, werte)

    das mit dem SET ist der Syntax für update, geht jedoch auf einigen alten Mysql distributionen aber auf der 5 wer auf keien fall mer.

    wurde irgent wann beim 4rer release entfernt.

  • schade ich mag den set befehl, aber alles geht ja mit einfügen, nur sobald ich ein hochkomma ( ' ) drin hab ich kaputt, query 2 sagt den error:

    You have an error in your SQL syntax near 'http://', `icq` = '', `text` = 'Ihr Eintrag! v', `datum` = '2006-08-21 16:43:38'' at line 1

    query 3 sagt das gleiche

    @rmb in einer if-bed. gehört hintendrann kein smilikolon mehr ;)

    €: ich schau mal obs hilft wenn ich das set weglasse und das umändere

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Du musst eigentlich die Variablen nicht escapen.
    Es reicht wenn du sie einfach nur (bei Text) mit einem Apostroph versiehst, also

    Code
    if(mysql_query("INSERT INTO gbook (name, email, homepage, icq, text, datum) VALUES ( '$name', '$email', '$hp.', '$icq', text = '$text', '$datum' )")) {


    Bei Datum kannst du auch ggf. die Apostrophe weglassen, je nachdem wie du das speicherst. Ich nehm bei Posts meistens NOW();
    also waers bei Datum statt '$datum' NOW(), ohne Apostrophe, da es sich ja um keinen Text handelt

  • hmm ok danke für die hilfe, ich hab jetzt einfach in allen variablen noch mal die sonderzeichen escapet (addslashes() ), nun gehts
    mfg und danke für die hilfe
    ps: ich dachte man muss die auch weider entfernen mit stripslashes, aber anscheinend nich. und ich habe das gefühl das mein anderer server besser damit umgehen kann oder so, da hab ichs nicht verwendet ;)
    danke nochma

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!