Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z zapytaniem INSERT INTO
Forum PHP.pl > Forum > Przedszkole
TheaSiX
udało mi się stworzyć działający skrypt przesyłania dwóch plików na serwer.. wszystko jest w formularzu na www, który również zawiera tytuł i opis (jeden plik jest zdjeciem, drugi czesto mp3ką).. tak wygląda kod php:

  1. <?php
  2.        require('baza.php');
  3.  
  4.        $uploaddir = $_SERVER['DOCUMENT_ROOT'].'/music/pix/';
  5.        $uploaddir2 = $_SERVER['DOCUMENT_ROOT'].'/music/tracks/';
  6.        $uploadfile = $uploaddir .'/'.basename($_FILES['fotka']['name']);
  7.        $uploadfile2 = $uploaddir2 .'/'.basename($_FILES['utwor']['name']);
  8.                              
  9.        if (move_uploaded_file($_FILES['fotka']['tmp_name'], $uploadfile)) {
  10.            print "Picture succesfully sent to the server";
  11.            } else {
  12.                       print  "Error uploading!";}
  13.  
  14.        if (move_uploaded_file($_FILES['utwor']['tmp_name'], $uploadfile2)){
  15.            print "<br><Br>Track succesfully sent to the server";
  16.            } else {
  17.                    print "Error uploading!";}
  18.  
  19.        $fotka_nazwa=$_FILES['fotka']['name'];
  20.        $plik_nazwa=$_FILES['utwor']['name'];
  21.        $nazwa_utworu=$_POST['nazwa_utworu'];
  22.        $opis_utworu=$_POST['opis_utworu'] ;
  23.        
  24.        print   "$nazwa_utworu <Br> $opis_utworu <Br> <img src=\"music/pix/$fotka_nazwa\"><br>$plik_nazwa";
  25.  
  26.        $sql = "INSERT INTO music ('numer', 'tytul_music', 'fotka', 'opis_utworu', 'plik',) VALUES ('', '$nazwa_utworu', '$fotka_nazwa', '$opis_utworu', '$plik_nazwa',)";
  27.        $result1 = mysql_query($sql);
  28.  
  29.    ?>


Wszystko ładnie działa, bo obrazek się pojawia na serwerze, plik również, opis i tytul wraz z nazwa drugiego pliku również pokazuje się przy użyciu PRINT. Jednak nic nie chce zapisać się w tabeli. Sprawdzałem wielokrotnie kolejność, nazwy, jak również plik baza.php. Wszystko jest tam wporządku. Nie mam zatem zielonego pojęcia dlaczego nic nie zapisuje się w bazie, tym bardziej, że błędu żadnego nie widzę.

I jeszcze takie pytanie odnośnie tworzenia przez php globalnych zmiennych dotyczących pliku. Gdy plik jest na serwerze to rozumiem, że mogę w każdej chwili odwołać się do $zmienna_name czy $zmienna_size? Czy są to tylko tymczasowe zmienne?
Lion_87
a jak wyglada baza??
melkorm
Kod
'plik',)

Kod
'$plik_nazwa',)"


Na poczatek bez tych przecinków na końcach ;]
TheaSiX
baza.php

  1. <?php
  2.  
  3. $db = mysql_connect(serwerport', 'login', 'password);
  4. mysql_select_db("nazwa_mojej_bazy", $db);
  5.  
  6. ?>


przecinki usunięte
Lion_87
chodzilo mi o baze music smile.gif
melkorm
  1. <?php
  2. $db = mysql_connect('serwerport', 'login', 'password')
  3. ?>


Ma nadzieje że to tak wygląda w pliku winksmiley.jpg

I pokaż strukture tabeli music :]
TheaSiX
struktura tabeli:



baze music? co masz na mysli? biggrin.gif

@melkorm - wygląda dokładnie tak jak wkleiłem
Lion_87
a niemozesz tak dodac

  1. $zapytanie = " INSERT INTO music VALUES(NULL, '".$nazwa_utworu."', '".$fotka_nazwa."', '".$opis_utworu."', '".$plik_nazwa."')";
Lion_87
pokaz jak teraz kod wyglada
melkorm
a daj na poczatku pod include

  1. <?php
  2. $zapytanie = " INSERT INTO music VALUES ('' , 'test', 'test', 'test', 'test')";
  3. mysql_query($zapytanie);
  4. ?>


I sparwdź czy się doda, jezeli nie to maszg dzieś problem zp ołączeniem z bazą danych.
TheaSiX
  1. <?php
  2. $sql = "INSERT INTO music  VALUES (NULL, '".$nazwa_utworu."', '".$fotka_nazwa."', '".$opis_utworu."', '".$plik_nazwa."')";
  3.        $result1 = mysql_query($sql);
  4. ?>


Dopiero teraz zauważyłem, że miałem usunąć wszystko co między "music", a "VALUES". Usunąłem i zostawiłem w postaci jak widać wyżej..

i.... ZADZIAŁAŁO!

wielkie dzięki, ale z chęcią dowiedziałbym się dlaczego poprzednia wersja nie działała..
Lion_87
moze i by zadzialalo jak bys tam na poczatku dal NULL zamiast ''
TheaSiX
a co z drugą sprawą? jak wyciągnąć rozmiar pliku.. próbowałem użyć tej globalnnej zmiennej $nazwa_size, ale nie zadziałało
melkorm
http://pl2.php.net/manual/pl/function.filesize.php

I to nie jest globalna nazwa, $_FILE tak samo czyszczone jest jak $_POST czy $_GET :]
TheaSiX
poszperałem i udało mi się osiągnąc efekt za pomocą filesize()

dzięki za pomoc smile.gif

a jak wyciągnąć informację o sumie rozmiarów plików w danym katalogu?
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.