Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] UPDATE SQL -> PHP funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • [Erledigt] UPDATE SQL -> PHP funktioniert nicht

    Hallo lieber PHP'ler ich hoffe ich bin hier richtig.

    Also ich habe ein Problem und zwar werden die Datensätze nicht aktualisiert also es passiert einfach nichts

    Habe schon alles probiert, bekomme es aber nicht hin. Bin auch wie man sieht (SQL-Injection) kein PHP-Profi.
    Hoffe mir kann jemand helfen.
    Danke im Vorraus.

    PHP-Code:
    <?php
    session_start
    ();
    ?>
    <?php
    require_once ("admin_auth.php");
    require_once (
    "head.php");

     
    ?>

    <body>

    <?php include ("panel.php"); ?>
    <div id="main">
        <div class="headlogo">

        </div>

    <?php include ("topnavi.php"); ?>

    <div class="content">

    <p style="float: right;"> Derzeit sind
    <?php
    // Anzahl der angemeldeten User ausgeben
    include ('config.php');
    $con mysql_connect($dbhost$dbuser$dbpass);
    mysql_select_db($dbase$con);
    $query="SELECT COUNT(member_id) AS anzahl FROM members";

    $sql=mysql_query($query);

    while(
    $row mysql_fetch_array($sql)) {
      echo 
    $row['anzahl'];
    }
    mysql_close($con);
    // Ende Anzahl User
    ?>
    User angemeldet!</p>

    <p style="font-weight: bold; color: #fff; margin-left: -6px;">
    <br /> <br />
    <?php
    // Tabelle "members"  ausgeben inkl. EDIT & DEL Funktion
    include ('config.php');

    $conn mysql_connect($dbhost$dbuser$dbpass);
    mysql_select_db($dbase$conn);


    if (
    $_POST["action"] == 'edit') {
    mysql_query("UPDATE `members` SET
    `firstname` = '"
    .$_POST['firstname']."',
    `lastname` = '"
    .$_POST['lastname']."',
    `login` = '"
    .$_POST['login']."',
    `email` = '"
    .$_POST['email']."',
    `status` = '"
    .$_POST['status']."'
    `reason` = '"
    .$_POST['reason']."'
    `passwd` = '"
    .$_POST['passwd']."'
    WHERE `member_id` = '"
    .$_POST['member_id']."'");
    }


    function 
    date_mysql2german($datum) {
        list(
    $jahr$monat$tag) = explode("-"$datum);

        return 
    sprintf("%02d.%02d.%04d"$tag$monat$jahr);
    }


    $result mysql_query("SELECT *  FROM `members`");

    while (
    $row mysql_fetch_array($result)) {
    $modify date_mysql2german($row['last_modify']);
    echo 
    "<a title=\"l&ouml;schen\" href=\"user_mng_d.php?member_id=".$row['member_id']."\" onclick=\"return window.confirm('Willste wirklich l&ouml;schen?\nDer Eintrag wird unwiderruflich gel&ouml;scht!');\"><img src=\"images/icons/del.png\" border=\"0\" height=\"16\" width=\"16\" alt=\"\" /></a>";
    echo 
    '

    <a href="?action=edit&member_id='
    .$row['member_id'].'" title="bearbeiten"><img src="images/icons/edit.gif" border="0" height="16" width="16" alt="" /></a>
    '
    .$row['firstname'].'
    '
    .$row['lastname'].'';
    echo 
    " (".$row['login'].")"."<br />";



    }


    echo 
    '
    <form action="'
    .$_SERVER['PHP_SELF'].'" method="post">';

    if (
    $_GET["action"] == 'edit') {
    echo 
    '<input type="hidden" name="action" value="edit">';
    echo 
    '<input type="hidden" name="member_id" value="'.$_GET['member_id'].'">';
    $result mysql_query("SELECT * FROM `members` WHERE `member_id` = '".$_GET['member_id']."'");
    $row mysql_fetch_array($result);
    $fname $row['firstname'];
    $lname $row['lastname'];
    $login_n $row['login'];
    $email$row['email'];
    $status $row['status'];
    $pw $row['passwd'];

    } else {

    ?>
    </div>
    <div  class="toggler" onclick="document.getElementById('aufzu').className=='auf' ? document.getElementById('aufzu').className='zu' : document.getElementById('aufzu').className='auf';"></div>
    <div id="aufzu" class="zu">
    <?php
    echo '<input type="hidden" name="action" value="add">';
    }

    echo 
    '<label>Vorname: </label><input class="editform" type="text" name="firstname" value="'.$fname.'"><br /><br />';
    echo 
    '<label>Nachname: </label><input class="editform" type="text" name="lastname" value="'.$lname.'"><br /><br />';
    echo 
    '<label>Username: </label> <input class="editform" type="text" name="login" value="'.$login_n.'"><br /><br />';
    echo 
    '<label>Passwort: </label> <input style="width: 225px;" class="editform" type="text" name="passwd" value="'.$pw.'"><a href="gen_pw.php?keepThis=true&amp;TB_iframe=true&amp;height=300&amp;width=500" title="" class="thickbox"><img src="images/icons/add-icon.gif" border="0" height="16" width="16" alt="" /></a><span style="color: gray; font-size: 10px; font-style: italic;">Das Passwort ist mit MD5 verschl&uuml;&szlig;elt</span><br /><br />';
    echo 
    '<label>Email: </label> <input class="editform" type="text" name="email" value="'.$email.'"><a href="mailto:'.$email.'" title="Email senden"><img src="images/icons/email.png" border="0" height="16" width="16" alt="" /></a><br /><br />';
    echo 
    '<label>Status: </label> <input style="width: 8px;" class="editform" type="text" name="status" value="'.$status.'"> <span style="color: gray; font-size: 10px; font-style: italic;">(0 = Freigeschaltet | 1 = Gesperrt)</span><br /><br />';

    echo 
    '<label>Sperre: </label><input class="editform_r" type="text" name="reason" value="'.$reason.'"><br /><br />';
    echo 
    '<label>&Auml;nderung: </label> <input style="font-style: italic;" class="editform" type="text" name="modify" readonly="readonly" value="'.$modify.'"/><br />';
    echo 
    '<input type="hidden" name="submit" value="true">';
    echo 
    '<br /><br /><input class="editsub" style="float: left;" type="submit" value="Speichern">';
    echo 
    '</form>';
    echo 
    '&nbsp;&nbsp;<a href="user_mng.php" title="Ohne zu speichern zur&uuml;ckkehren!">abbrechen</a><br /><br />';


    mysql_close($conn);

    // ENDE User aus "members" auslesen!
    ?>


     </p>

    </div>





    <?php

    require_once ("foot.php");


     
    ?>
    #m { f : g }

  • #2
    Rückgabewert von mysql_query auswerten, mysql_error benutzen.
    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

    Kommentar


    • #3
      Zitat von ChrisB Beitrag anzeigen
      Rückgabewert von mysql_query auswerten, mysql_error benutzen.
      Hallo, danke für die schnelle Antwort.
      Wie meinst du das denn? Versteh das nicht so ganz, bin noch Anfänger
      #m { f : g }

      Kommentar


      • #4
        suchen, lesen & verstehen
        klick




        oder einfach mal ein paar tutorials lesen.. da wird dann auch erklärt wie man prüft ob ein datensatz geändert wurde.. oder wie chris sagte ob das query nen fehler wirft..

        Kommentar


        • #5
          Zitat von taurus Beitrag anzeigen
          suchen, lesen & verstehen
          klick

          =)

          Ja aber es kommt auch so keine Fehlermeldung und mit

          PHP-Code:
          echo mysql_errno() . ": " mysql_error(). "\n"
          passiert auch nix. Bzw. er gibt "o:" aus.
          Was kann ich denn mit dem o: anfangen?


          Wie kann ich denn den Rückgabewert ausgeben.
          Aber ich denke mal das es nur ein kleiner Fehler ist ein komma oder so denn sonst würde der doch schon automatisch ne Fehlermeldung ausgeben oder?
          #m { f : g }

          Kommentar


          • #6
            du meinst wohl "0:" nicht o wie otto..
            php.net mysql_errno eingeben... erster satz..


            schalte einfach mal dein error reporting an, bevor du frägst wie das geht.. google! php error reporting.. zweiter link.. ^^

            Kommentar


            • #7
              Ab der Zeile
              PHP-Code:
              `status` = '".$_POST['status']."' 
              fehlen die "," hinter den Zeilen. Diesen Fehler hätte dir mysql_error ausgegeben, hättest du es richtig verwendet -.-
              [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

              Kommentar


              • #8
                Zitat von taurus Beitrag anzeigen
                du meinst wohl "0:" nicht o wie otto..
                php.net mysql_errno eingeben... erster satz..


                schalte einfach mal dein error reporting an, bevor du frägst wie das geht.. google! php error reporting.. zweiter link.. ^^
                Ja ok O:

                Also
                Liefert die Fehlernummer der letzten MySQL Funktion, oder 0 (Null) falls kein Fehler aufgetreten ist.
                Mit angeschaltetem error_reporting(E_ALL); gibt er folgendes aus:
                Notice: Constant DB_HOST already defined in K:\xampp\xampp\htdocs\xampp\bungalow\config.php on line 8

                Notice: Constant DB_USER already defined in K:\xampp\xampp\htdocs\xampp\bungalow\config.php on line 9

                Notice: Constant DB_PASSWORD already defined in K:\xampp\xampp\htdocs\xampp\bungalow\config.php on line 10

                Notice: Constant DB_DATABASE already defined in K:\xampp\xampp\htdocs\xampp\bungalow\config.php on line 11

                Notice: Undefined index: action in K:\xampp\xampp\htdocs\xampp\bungalow\user_mng.php on line 50
                config.php
                PHP-Code:
                <?php
                    $dbhost 
                "localhost";
                    
                $dbuser "x";
                    
                $dbpass "x";
                    
                $dbase  "x";


                    
                define('DB_HOST'$dbhost);
                    
                define('DB_USER'$dbuser);
                    
                define('DB_PASSWORD'$dbpass);
                    
                define('DB_DATABASE'$dbase);
                ?>
                Ich hab das nur so drin weil ich ein bestehendes Login-System genommen habe und dort war dieses define...da ich vorher damit nix anfangen konnte und das nur mit den Variablen kannte habe ich das so gemacht, aber wiegesagt daran wird das nicht liegen oder?
                #m { f : g }

                Kommentar


                • #9
                  Zitat von Frank Beitrag anzeigen
                  Ab der Zeile
                  PHP-Code:
                  `status` = '".$_POST['status']."' 
                  fehlen die "," hinter den Zeilen. Diesen Fehler hätte dir mysql_error ausgegeben, hättest du es richtig verwendet -.-
                  Der Pure Wahsinn...Danke

                  Hab's doch gewusst das es sowas ist

                  1000 Danke =)
                  #m { f : g }

                  Kommentar


                  • #10
                    aber ich hoffe du weißt jetzt wie man mysql error richtig anwendet.. damit dir das in zukunft nicht mehr passieren kann

                    Kommentar


                    • #11
                      Nein?!
                      #m { f : g }

                      Kommentar


                      • #12
                        Dann lern es!

                        Kommentar


                        • #13
                          Richtig angewendet hätt er dir den Fehler genannt...
                          PHP-Code:
                          $qry "UPDATE `members` SET
                          `firstname` = 'x',
                          `lastname` = 'y',
                          `login` = 'z',
                          `email` = 'a',
                          `status` = 'b'
                          `reason` = 'c'
                          `passwd` = 'd'
                          WHERE `member_id` = 'w'"
                          ;

                          $result mysql_query($qry);
                          if(
                          $result === false) {
                              die(
                          mysql_error());

                          Code:
                          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 '`reason` = 'c' `passwd` = 'd' WHERE `member_id` = 'w'' at line 7
                          [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

                          Kommentar

                          Lädt...
                          X