Update Bild in DB

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

  • #16
    Wenn du mit mysqli arbeitest, musst du natürlich auch die entsprechende Funktion von mysqli verwenden.

    PHP: mysqli::real_escape_string - Manual

    Kommentar


    • #17
      Ja, habe ich gerade im Visier ! Danke !

      Versuche es gerade auf die Update Funktion anzuwenden.

      Kommentar


      • #18
        So, leider komme ich nicht so recht weiter, da ich mich mit der Info auf der PHP Seite etwas schwer tue.

        Ich habe den Code folgendermaßen geändert(ergänzt):

        PHP-Code:
        error_reporting(E_ALL); #zeig alle Fehler 
        ini_set('display_errors''1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden  
        require_once '../inc/login.inc.php';
         
        $verbindung mysqli_connect($server$benutzer$passwort);
         
         
        // neu hinzugefügt
         
        $id 'ID';
         
        $id $verbindung->real_escape_string($id);
          
         if (
        $verbindung){
          
         
        mysqli_select_db ($verbindung$datenbank);
         
          if(
        mysqli_error($verbindung)){
           echo 
        'Fehler: Keine Verbindung zur Datenbank' mysqli_error($verbindung);
                
          }else{
           echo 
        print_r ($_POST);
              
           if (isset(
        $_POST['ID'])) {
           
           if (
        array_key_exists('img',$_FILES)) {
           
           
        $tmpname $_FILES['img']['tmp_name'];
                    
        $type $_FILES['img']['type'];
                    
        $bname $_FILES['img']['name'];
                    
                    if (
        strlen($tmpname)>0) {
                    
                    
        $hndFile fopen($tmpname"r");
                    
        $data addslashes(fread($hndFilefilesize($tmpname)));
                    
                    }else { (
        $data ""); }
           
                     
           
        $sql "
             UPDATE
              event
             SET
              ort='
        {$_POST['ort']}',
              name='
        {$_POST['name']}',
              datum='
        {$_POST['datum']}',
              beschreibung='
        {$_POST['beschreibung']}'";
              
              if (
        strlen($data)>0) {
              
              
        $sql .= ",imgdata='$data',
                                imgtype='
        {$_FILES['img']['type']}',
                                imgname='
        {$_FILES['img']['name']}'";
        }
             
        $sql .= "
             WHERE
             // code erweitert
              
        $id='".mysqli_real_escape_string($verbindung($_POST('$id')))."'";
              
                 
           
        mysqli_query($verbindung$sql);
           echo 
        'Die Daten wurden erfolgreich geändert';
              }else{
                 echo 
        'Die Daten wurden nicht geändert' mysqli_error($verbindung) . '<br/>'; }
          }
           }
         }
          
         
        mysqli_close($verbindung);

        ?> 
        Nun bekomme ich folgende Fehlermeldung:

        Fatal error: Function name must be a string in C:\xampp\htdocs\event\best_aendern.php on line 62

        Kann mir jemand schreiben, ob ich mit dem Code soweit in die richtige Richtung gehe und was der Fehler bedeutet, bzw. was noch fehlt.

        Danke

        Kommentar


        • #19
          http://www.php-resource.de/forum/php...uncements.html
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #20
            ??? Gegen welches Gesetzt habe ich denn jetzt verstoßen ???

            Kommentar


            • #21
              Welche ist die Zeile 62, in der der Fehler auftritt?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #22
                Oh sorry....

                Zeile 62:

                PHP-Code:
                 $id='".mysqli_real_escape_string($verbindung($_POST('$id')))."'"; 

                Kommentar


                • #23
                  Und wieso schreibst du da runde Klammern hinter $verbindung, so dass PHP denken muss, du wolltest eine Funktion aufrufen?
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #24
                    Als nächstes dürfte dann aber noch ein MySQL-Syntax-Error kommen...

                    Kommentar


                    • #25
                      OK, vielen Dank erstmal soweit.

                      Ich habe die Zeile folgendermaßen abgeändert:

                      PHP-Code:
                      $id='".mysqli_real_escape_string($verbindung,$_POST[$id])."'"; 
                      Und es funktioniert einwandfrei.

                      Kommentar

                      Lädt...
                      X