[SQL allgemein] Änderungen über PHP werden nicht in Db eingetragen

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

  • [SQL allgemein] Änderungen über PHP werden nicht in Db eingetragen

    Hi, ich hab da ein blödes Problem, das ich mir ned ganz erklären kann.

    Ich hab nen Chat mit Userprofil, in diesem profil kann man einiges einstellen/ändern wie z.B. geschlecht usw.
    Ein Feld, das ich hinzugefügt hab (style-auswahl), liest zwar korrekt die Info aus der Db aus (style1, 2, 3 usw.), aber ändert man diese einstellung, so schreibt er es nicht in die Db :|
    hab schon alles mögliche probiert, aber es klappt einfach nicht :|

    Vielleicht hat jemand die Zeit (und lust) sich das mal anzuschauen....?

  • #2
    Re: [SQL allgemein] Änderungen über PHP werden nicht in Db eingetragen

    Original geschrieben von Aranesh

    hab schon alles mögliche probiert, aber es klappt einfach nicht :|
    wenn du uns auch noch sagst, wie du es probiert hast, kann man dir besser helfen

    Kommentar


    • #3
      Re: [SQL allgemein] Änderungen über PHP werden nicht in Db eingetragen

      hallo,
      Vielleicht hat jemand die Zeit (und lust) sich das mal anzuschauen....?
      ja, ich glaube, das ist der grund, warum viele von uns hier sind, wir haben lust und eventuell auch zeit, uns das anzuschauen ....

      nur leider hast du es so klein geschrieben (und dann gleich den ganzen quellcode), daß ich es nicht entziffern kann.

      bitte schreibe es etwas größer und poste nur die relevanten stellen ... in php-tags bitte ( [ php] und [ /php] ). danke.
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        kein grund pampig zu werden. der chat is ziemlich komplex und einige code-stücke verteilen sich auf zig templates und dergleichen :|

        Da is das betreffende stück:



        PHP-Code:
        $db = new db_local;
        $db -> query("SELECT * FROM ".$chatprefix."chat_options");
        $db -> next_record();
        $db -> query("UPDATE ".$chatprefix."chatusers SET style = '$style' WHERE nick = '$chatuser' ");
        $db -> query("SELECT * FROM ".$chatprefix."chatusers WHERE nick = '$chatuser'");
                $db -> next_record();
                $style=$db->record[style];
        ?>
        <tr>
                <td bgcolor="<? echo $deftablecol ?>" align=left><font title="Style" size=1><? echo $sstyle ?></font></td>
                <td bgcolor="<? echo $deftablecol ?>"><select name=style><option value="1" <? if($style=="1"){ echo "selected";}?>>Red on Grey</option><option value="2" <? if($style=="2"){ echo "selected";}?>>Standard-Blue</option>select></td>
                </tr>
        <tr>
        Unten drunter is noch ein Button, der das ganze speichert.

        Kommentar


        • #5
          kein grund pampig zu werden.
          OffTopic:
          ich bin extra nicht 'pampig' geworden.
          PHP-Code:
          $db -> query("UPDATE ".$chatprefix."chatusers SET style = '$style' WHERE nick = '$chatuser' "); 
          diese query 'geht nicht'?

          - gibt es eine fehlermeldung?
          - laß dir die query mal ausgeben
          - läßt sie sich erfolgreich an der console/im pma absetzen?
          - wie sehen deine bisherigen debug-versuche aus?
          - was geht nicht?
          - wird 'nichts' in die db geschrieben oder wird 'nicht' in die db geschrieben?
          - register globals?

          umbrichst du bitte den code? danke.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            kein grund pampig zu werden. der chat is ziemlich komplex und einige code-stücke verteilen sich auf zig templates und dergleichen :|
            das mag ja alles sein aber ich denke unsere Glaskugeln bringen da auch nicht viel

            Da wärs auch gut wenn Du mal den Inhalt von z.B. $style postest
            $db->query("UPDATE ".$chatprefix."chatusers SET style = '$style' WHERE nick = '$chatuser' ");

            Kennen ja auch nicht Deine $db->query Funktion aber wie wär es denn mit *sqL_affected_rows() ?
            [Test] MySQL cli Emulator

            Kommentar


            • #7
              Bin kein Held in sachen php
              ===> ääh.. einige der fragen kann ich nicht beantworten.

              es iss ne dropdown box unter vielen (geschlecht, name, wohnort usw. das übliche halt).

              der code sieht bei allen gleich aus und wird über einen "ändern" button in die jeweilige sql-spalte eingetragen mittels:

              PHP-Code:
              $db -> query("UPDATE ".$chatprefix."chatusers SET gender = '$gender', icq = '$icq1', msn = '$msn1', ....... WHERE nick = '$chatuser' "); 
              die dropdowns lesen die info aus der Db aus, das funktioniert überall, auch beim design

              aber nur das design-feld wird nicht in die Db gespeichert, wenn man auf "ändern" klickt.

              debug-versuche: sql-feld auf Varchar, Int, maximalstellenzahl geändert usw.
              mitlerweile glaub ich, daß es nicht an der Db liegt...

              Kommentar


              • #8
                hmm,

                umbrichst du den code, bitte?

                das form ... post? oder get?

                mach mal bitte vor der query
                PHP-Code:
                echo '<pre>';
                print_r($_POST);
                print_r($_GET);
                echo 
                '</pre>'
                ausgabe?

                mach mal bitte
                PHP-Code:
                echo "UPDATE ".$chatprefix."chatusers SET gender = '$gender', icq = '$icq1', msn = '$msn1', ....... WHERE nick = '$chatuser' "
                also laß dir deine generierte query mal ausgeben ...

                hat deine db-klasse eine fehlerbehandlung? wird ein fehler ausgegeben? (sicher nicht, sonst hättest du ihn ja gepostet ...)

                das style-feld wird als einziges nicht in die db geschrieben?
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Ok... warum kompliziert wenns einfach auch geht....
                  hab das ganze jetzt mittels
                  $style = 1; (bzw. 2, 3, ...)
                  gelöst....

                  danke trotzdem für's drübernachdenken ^^

                  Kommentar

                  Lädt...
                  X