mysql und ' prob

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mysql und ' prob

    Hi,
    also habe folgendes Problem:
    ich möchte daten in eine tabelle speichern, wo ein feld der tabelle ein ' enthält, welches nid escaped ist.
    der sql befehl sieht so aus:
    PHP-Code:
    INSERT INTO v1_usergroups (group_nametesttest') VALUES ('test2', '1', '1') 
    allerdings gibts da irgendwie problem, weil das dann false zurückgegeben wird.., kann leider nicht finden wieso, weil wenn ich die ' escape besteht das problem weiterhin...
    hier mal der ganze code:

    PHP-Code:
    if($step == 2) {
         
    $name addslashes($name);
         if(
    $name == '') {
          
    $file 'home_admin_usergroups_addgroup_error_empty';
         } else {
          
    $abfrage "SELECT * FROM v1_usergroups WHERE group_name = '$name'";
          
    $ergebnis mysql_query($abfrage);
          
    $anzahl mysql_num_rows($ergebnis);
          if(
    $anzahl 0) {
           
    $file 'home_admin_usergroups_addgroup_error_exists';
          } else {
           
    $abfrage "SELECT action FROM v1_usergroups_actions ORDER BY action";
           
    $ergebnis mysql_query($abfrage);
           
    $anzahl mysql_num_rows($ergebnis);
           
    $cats '';
           
    $values '';
           
    $laufen 1;
           while(
    $row mysql_fetch_object($ergebnis)) {
            
    $row->action addslashes($row->action);
            
    $variable $_POST['num_'.$laufen];
            if(
    $anzahl == $laufen) {
             
    $cats $cats.$row->action;
             
    $values $values.'\''.$variable.'\'';
            } else {
             
    $cats $cats.$row->action.', ';
             
    $values $values.'\''.$variable.'\', ';
            }
            
    $laufen++;
           }
           
    $cats stripslashes($cats);
           
    $eintrag "INSERT INTO v1_usergroups
                       (group_name, 
    $cats)
                       VALUES
                       ('
    $name', $values)";
           echo 
    $eintrag;
           
    $eintragen mysql_query($eintrag);
           if(
    $eintragen == true) {
            
    $file 'home_admin_usergroups_addgroup_success';
           } else {
            
    $file 'home_admin_usergroups_addgroup_error_software';
           }
          }
         }
        } 
    danke schonmal im voraus.
    Zuletzt geändert von Enerkin; 17.04.2005, 22:37.
    1123581321

  • #2
    was sagt mysql_error()?
    wie sieht die query vorm ausführen aus?

    Kommentar


    • #3
      mysql error sagt:
      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 '') VALUES ('test4', '1',

      so:
      INSERT INTO v1_usergroups (group_name, test, test') VALUES ('test4', '1', '1')
      1123581321

      Kommentar


      • #4
        wo ein feld der tabelle ein ' enthält, welches nid escaped ist
        PHP-Code:
        $cats stripslashes($cats); 
        ?

        Kommentar


        • #5
          ja, wenn ich es escape ändert sich nix...

          folgendes kommt dann:
          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 '\') VALUES ('test4', '1',
          1123581321

          Kommentar


          • #6
            wie kommt auch ein ' in den feldnamen?

            Kommentar


            • #7
              naja, das is nur falls jmd ein ' in den namen für das feld eingibt, via formular...
              ist es also nicht möglich ' in den feldnamen zu haben?
              1123581321

              Kommentar


              • #8
                nicht, dass ich wüsste.
                auch fände ich es nicht empfehlenswert, solche eingaben dem user zu überlassen.

                Kommentar


                • #9
                  naja is ja nid direkt dem user überlassen, nur den usern, den ich es gestatte usergruppen zu bearbeiten, hinzuzufügen usw..
                  naja ich werd mir mal ne andre lösung suchen, gibt es vllt ne funktion um alle zeichen ausser a-z und 0-9 aus einem string herauszufiltern? oder "darf" ich mich mal wieder mit regexp anfreunden?
                  danke für die hilfe
                  1123581321

                  Kommentar


                  • #10
                    user sind user...

                    regexp-hint: \W

                    Kommentar


                    • #11
                      hm,
                      kann mit deinem hint nix anfangen und in der suchi finde ich auch nix mit \W? bitte erkläre mir deutlicher was du meinst...

                      aber manche user sind user meines vertrauens
                      1123581321

                      Kommentar


                      • #12
                        schlecht gesucht?
                        http://de3.php.net/manual/de/referen...ern.syntax.php

                        Kommentar


                        • #13
                          hab die phpresource suche verwendet...
                          hm, naja ich glaub ich lass es bleiben, die tatsache, dass ich jmd usergruppen verwalten lasse is ziemlich gering, und ich selbst weis was ich nid eingeben darf...
                          naja danke für deine hilfe
                          m.f.G.
                          1123581321

                          Kommentar

                          Lädt...
                          X