Ankündigung

Einklappen
Keine Ankündigung bisher.

Mysqli schreibt nichts in Datenbank

Einklappen

Neue Werbung 2019

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

  • Mysqli schreibt nichts in Datenbank

    Hallo, ich habe folgendes Problem:

    Ich habe folgendes Script
    PHP-Code:
    <?php
    include "source/core/config/sql.php";
    $Username "!";
    $album "Kein Album";


    // A list of permitted file extensions
    $allowed = array('png''jpg''gif''bmp');

    if(isset(
    $_FILES['upl']) && $_FILES['upl']['error'] == 0){

        
    $extension pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);

        if(!
    in_array(strtolower($extension), $allowed)){
            echo 
    '{"status":"error"}';
            exit;
        }

            
    # Datei umbenennen
            
    $filerename $_FILES['upl']['name'];
        
    $base basename ($filerename);
        
    $breakup explode('.',$filerename);
        
    $break array_reverse($breakup);
        
    $filebreakup $break[0];
        
    $md5 md5(time());
        
    $filename $md5.'.'.$filebreakup;
            
            
    # Andere Daten
            
    $datum date("d-m-Y"filemtime($_FILES["datei"]["tmp_name"]));
            
    $size filesize($_FILES["upl"]["tmp_name"]); 
            
    $name $_FILES['upl']['name'];
            
            
    # In Datenbank schreiben
            
    $sql 'INSERT INTO upload (name, filename, date, user, size, album) VALUES (?, ?, ?, ?, ?, ?)';
            
    $stmt $db->prepare($sql);
            
    $stmt->bind_param'ssssss'$name$filename$datum$Username$size$album);
                                            
        if(
    move_uploaded_file($_FILES['upl']['tmp_name'], 'files/uploads/'.$filename)){
            echo 
    '{"status":"success"}';
            exit;
        }
    }

    echo 
    '{"status":"error"}';
    exit;
    Dieses gehört zu einem Bildupload System. Dabei soll es ebenfalls die Daten in eine Datenbank schreiben. Leider funktioniert dies garnicht. Hat jemand dafür eine erklärung?

    Gruß IceBlade

  • #2
    Der erste Blick auf den Code zeigt das du dich nicht um das Fehlschlagen oder nicht Fehlschlagen des Queries kümmerst. Ich denke, da solltest du zuerst ansetzen.

    Die Json-Ausgaben die du baust, bekommst du im übrigen stehts valide ( und ordnungsgemäß escaped ) so hin:
    PHP-Code:
    echo json_encode(['status' => 'error']); 

    Kommentar


    • #3
      außerdem fehlt das execute() vom Prepared Statement.

      Kommentar

      Lädt...
      X