Witam!
Chciałbym umieścić zdjęcia w bazie danych MySQL, w polu typu BLOB.
Pomijając rozważania na temat wydajności i sensowności takiego rozwiązania, a także niekompletności skryptu pod kątem bezpieczeństwa etc, chciałbym chociażby na próbę odpalić takie rozwiązanie.
Niestety za nic w świecie mi się to nie udaje.
Byłbym Wam bardzo wdzięczny za jakąś sugestię na czym może polegać błąd, albo chociaż jak go znaleźć.
plik add_form.php:
[code]<?php
echo '<form action="add_base.php" method="post" enctype="multipart/form-data">';
echo '<input type="hidden" name="MAX_FILE_SIZE" value="65000" />';
echo '<input type="file" name="picture" />
';
echo '<input type="submit" name="wyslij" value="Dodaj zdjecie!" />';
echo "</form>";
?>[/code]
plik add_base.php:
[code]<?php
//połączenie z bazą danych
//====fragment w którym spodziewam się błędu====
$tmpName = $_FILES['picture']['tmp_name'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
//==========================================
mysql_query("
INSERT INTO `test`.`pictures` (
`user_id` ,
`picture`
)
VALUES (
'3', '$content'
);")
or die("Błąd w zapytaniu!");
?>[/code]
Niestety zapytanie sql nie wykonuje się.
Próbowałem też wersję z
[code]$content = file_get_contents($_FILES['picture']['tmp_name']);[/code]
niestety z identycznym efektem. Gdy podstawiam zamiast $content jakiś ciąg znaków, zapytanie wykonuje się.[/code]