Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensatz (mySQL) ändern

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

  • Datensatz (mySQL) ändern

    $query = "UPDATE tbl_users(password) SET ('$hashed_password'WHERE email='$email')";

    Hallo bin leider noch Anfänger, was ist hier falsch?


  • #2
    Das ergibt keinen Sinn.

    Wie man ein UPDATE macht, seht im Handbuch:

    https://dev.mysql.com/doc/refman/8.0/en/update.html

    Kommentar


    • #3
      $query = "INSERT INTO tbl_logfile(email) VALUES('$email')";

      wenn ich zum Beispiel einen neuen Datensatz schreibe, geht es..... ?

      was ergibt keinen Sinn?

      Kommentar


      • #4
        Zitat von blackfire Beitrag anzeigen
        was ergibt keinen Sinn?
        Dein Code. Schau dir im Handbuch an, wie es richtig geht.

        Kommentar


        • #5
          PHP-Code:
          <?php
          session_start
          ();
          include_once 
          'dbconnect.php';

          if (!isset(
          $_SESSION['userSession'])) {
              
          header("Location: index.php");
          }
              
          $query $DBcon->query("SELECT * FROM tbl_users WHERE user_id=".$_SESSION['userSession']);
              
          $userRow=$query->fetch_array();
              
          $DBcon->close();


              
          $password strip_tags($_POST['password']);
              
          $email strip_tags($_POST['email']);

              
          $password $DBcon->real_escape_string($password);
              
          $email $DBcon->real_escape_string($email);


              
          $hashed_password password_hash($passwordPASSWORD_DEFAULT);


              
          $check_email $DBcon->query("SELECT email FROM tbl_users WHERE email='$email'");
              
          $count=$check_email->num_rows;


                   if (
          $count==0) {

                  
          //$query = "UPDATE tbl_users(password) SET ('$hashed_password'WHERE email='$email')";
                  
          $query "UPDATE tbl_users SET password='$hashed_password'WHERE email = $email"


                  
          $DBcon->query($query);
          habe das Handbuch mal angefangen, müsste aber doch so richtig sein????

          Kommentar


          • #6
            Zitat von blackfire Beitrag anzeigen
            $query = "UPDATE tbl_users(password) SET ('$hashed_password'WHERE email='$email')";

            Hallo bin leider noch Anfänger, was ist hier falsch?
            Die Syntax.
            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

            Kommentar


            • #7
              1. SELECT * ist böse und sollte nicht verwendet werden.

              2. Werte dürfen nicht direkt in SQL-Code eingefügt werden, sondern müssen escaped werden. Oder man verwendet einfache Prepared Statements.

              3. Warum verwendest du hier strip_tags()?

              4. Strings werden bei SQL in Hochkomma gesetzt. Das machst du bei $email nicht.

              5. Zwischen '$hashed_password' und WHERE fehlt ein Leerzeichen. Man sollte sich an die vorgegebene SQL-Syntax halten und keine eigene erfinden. Leerzeichen haben schon einen Sinn und können nicht einfach weggelassen werden.

              Kommentar


              • #8
                PHP-Code:
                        $query "UPDATE tbl_users SET password='$hashed_password' WHERE email = '$email'"
                Versuchs damit...

                Kommentar

                Lädt...
                X