Probleme beim Laden von Blob Dateien

Molli33

Neuer Benutzer
Beiträge
3
Hallo zusammen,

ich habe Probleme mit folgendem Script.
Er läd das Bild einfach nicht in die Datenbank.
Die Spalte bleibt immer leer.
Bei meinen Kollegen funktioniert es einwandfrei.
Brauche ich dafür Trigger in der Oracle Datenbank?

Spalte in der Datenbank heißt definitiv "BILD" und die übergeben Dtei heißt auch "bild-upload"

PHP-Code:


f(isset($_POST['speichern']))
{

$name = $_POST['musicalname'];
$spielort = $_POST['spielort'];
$minuten = $_POST['minuten'];
$sitzplaetze = $_POST['sitzplaetze'];
$jahr = $_POST['jahr'];
$genre = $_POST['genre'];

$stmnt = oci_parse($conn, $sql_string);
oci_execute($stmnt, OCI_DEFAULT);
oci_commit($conn);

if($_FILES['bild']['name'] != "")
{

$blob = oci_new_descriptor($conn, OCI_D_LOB);

$sql_string = "INSERT INTO MUSICALS2 (MUSICALNUMMER, NAME, SPIELORT, MINUTEN, SITZPLAETZE, JAHR, GENRE, BILD)
VALUES(MUSICAL_SEQUENCE1.nextval,'$name','$spielor t','$minuten','$sitzplaetze','$jahr','$genre', EMPTY_BLOB()) RETURNING BILD INTO :bild";

}

else
{
$sql_string = "INSERT INTO MUSICALS2 (MUSICALNUMMER, NAME, SPIELORT, MINUTEN, SITZPLAETZE, JAHR, GENRE)
VALUES(MUSICAL_SEQUENCE1.nextval,'$name','$spielor t','$minuten','$sitzplaetze','$jahr','$genre')";
}

$stmnt = oci_parse($conn, $sql_string);

if($_FILES['bild']['name'] != "")
{
oci_bind_by_name ($stmnt, ":bild", $blob, -1, OCI_B_BLOB);
}

oci_execute($stmnt, OCI_DEFAULT);

if($_FILES['bild']['name'] != "")
{

if (!$blob->savefile($_FILES['bild-upload']['tmp_name']))
{
oci_rollback($conn);
oci_free_descriptor($blob);
oci_free_statement($stmnt);
oci_close($conn);
die();
}
}

oci_commit($conn);
sleep(1);
}
Als Vergelich hier noch der HTML Code:

HTML-Code:


<span class='text'><u>Bitte geben Sie die Daten des Musicals ein und klicken Sie auf speichern:</u><p></span>
<form action='neues_musical_php.php' method='post'>
<input name='musicalname'>Musicalname<br>
<input name='spielort'>Spielort<br>
<input name='minuten'>Spiellänge in Minuten<br>
<input name='sitzplaetze'>Sitzplätze<br><p>
<input name='jahr'>Spieljahr<br>
<p>
<select name='genre'>Genre<br>
<option value='komoedie'selected>Komödie</option><p>
<option value='drama'>Drama</option>
<option value='horror'selected>Horror</option><p>
<option value='romantik'selected>Romantik</option><p>
</select><p>
<input type="file" name="bild-upload" accept="image/*">Logo Upload<br>
<p>
<input type='submit' name='speichern' value='Speichern'>
<input type='reset' value='reset'><br/>
</form>


Es wäre super lieb, wenn mir einer schnell helfen könnte.

Vielen Dank
 
Werbung:
Werbung:
yeah, ist eher ein PHP-Problem.

  • keine Fehlerbehandlung, sagte ich Dir schon im letzten Thread
  • sieht nach SQL-Injection auf (weiß nicht, ob oci_execute() da noch Schutzmechanismen hat, aber Du übernimmst erst einmal ungeprüft POST-Parameter
 
Zurück
Oben