Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Dodanie pliku do bazy danych
Forum PHP.pl > Forum > Przedszkole
zalespl
Witam, otóż mam taki problem.
Chcę dodać plik do bazy danych.
Utworzyłem 3 kolumny w tabeli, kolejno file_id, file_name, file_expiry.
Nazwa tabeli to downloads, a nazwa bazy na serwerze www to a4814337_phplog.

  1. ini_set('display_errors','1');
  2.  
  3. mysql_connect("mysql10.000webhost.com","a4814337_zales","******") or die("Nie mogę połączyć się z bazą danych");
  4.  
  5. mysql_select_db("a4814337_phplog");
  6.  
  7.  
  8. if (isset($_POST['expiry'],$_FILES['file']))
  9. {
  10. $file_name = mysql_real_escape_string($_FILES['file']['name']);
  11. $expiry = time()+((int)$_POST['expiry'] *60);
  12. echo $file_name,"<br>";
  13. echo $expiry;
  14. if
  15. (mysql_query("INSERT INTO 'downloads' ('file_name','file_expiry') VALUES ('{$file_name}, {$expiry}')"))
  16. {
  17. echo "Plik dodano!";
  18. }
  19. else
  20. {
  21. echo"pliku nie dodano.";
  22. }
  23. }
  24. else
  25.  
  26. echo "Nie wypełniono któregoś z pól!";


Dodałem sprawdzenie funkcją echo, no i zwraca mi wartości po wczytaniu pliku i kliknięciu submit.
zwraca poprawną nazwę oraz liczbę z expiry, ale bazę nadal mam pustą, gimnastykuję się ale coś mi to nie wychodzi.

po dodaniu samego kodu do phpmyadmin dostaję:


  1. INSERT INTO 'downloads' ('file_name','file_expiry') VALUES ('{$file_name}, {$expiry}')




#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''downloads' ('file_name','file_expiry') VALUES ('{$file_name}, {$expiry}')' at line 1
buliq
  1. '{$file_name}, {$expiry}'


powinno być

  1. '{$file_name}', '{$expiry}'
piotrooo89
  1. mysql_query("INSERT INTO downloads (file_name,file_expiry) VALUES ('{$file_name}', '{$expiry}')")


na przyszłość - forum to nie parser.
zalespl
dziękuję za odpowiedź, ale do bazy nadal nie dodaje się żaden element.

mam jeszcze jedno pytanie,

  1. print_r($_FILES);

  1. <form action="wrzucam.php" method="POST" enctype="multipart/form-data">
  2. <p>
  3. <input type="file" />
  4. <input type="submit" value="Upload" />
  5. </p>
  6. </form>


print_r po wybraniu pliku i kliknięciu Upload pokazuje pustą tablicę, może mi ktoś powiedzieć dlaczego?
piotrooo89
mysql_error zobacz co Ci wyświetla, i zobacz co masz w zmiennych $file_name i $expiry.
zalespl
  1. You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near ''downloads' ('file_name','file_expiry') VALUES ('pobrane.jpg', '1325280254')' at line 1
piotrooo89
użyj tego co Ci podałem kilka postów wyżej, chyba umiesz skorzystać z gotowca sad.gif
zalespl
bardzo zabawne...
rozwiązałem problem, poprawna składnia to:
  1. (mysql_query("INSERT INTO downloads (file_name,file_expiry) VALUES ('{$file_name}', '{$expiry}')"))


pozdrawiam.

nie zauważyłem Twoich zmian, ponieważ ich nie kopiowałem tylko zerknąłem co zmieniłeś, przepraszam za fatygę.
-kaem-
a gdzie atrybut name dla inputa?
zalespl
to też już wiem, dzięki smile.gif
piotrooo89
Cytat(zalespl @ 30.12.2011, 22:30:15 ) *
bardzo zabawne...


byłą to lekka ironia, która miała pomóc ożywić Twoje szare komórki tuż przed nowym rokiem smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.