Autor Zpráva
jel_man
Profil *
Dobrý podvečer,

Potřebuji poradit ohledně zápisu názvu uploadovaných souborů do databáze. Jedná se celkem o 5 souborů a já nevím, jak tyto názvy dostat do databáze.
klasicky výpis je
$obrazek[0] = $_FILES["soubor"]["name"][0]; $obrazek[1] = $_FILES["soubor"]["name"][1]; $obrazek[2] = $_FILES["soubor"]["name"][2];
$obrazek[3] = $_FILES["soubor"]["name"][3]; $obrazek[4] = $_FILES["soubor"]["name"][4];

Potom by mě následovat zápis do databáze ale bohužel nevím jak tyto názvy souborů do databze uložit. (upload funguje bez problemu)

Předem děkuji za rady.
Keeehi
Profil
jel_man:
Nenapsal jste, o jakou databázi se jedná. Předpokládejme tedy MySQL.

Jak tak na to koukám, tak mě napadá otázka. Pracoval jste vůbec někdy s databází? Jestli ne, tak si nastudujte základy a určitě přijdete jak na to. (Můžete začít tu a pokračovat v pár dalších dílech seriálu, Na vytváření tabulek použijte třeba adminer, vkládání je díl 40)

Pokud základy umíte, s čím konkrétně máte problém? Nějaká neznámá chyba nebo tak podobně?
jel_man
Profil *
Dobrý den,
omlouvám se za špatně položenou otázku.

Jedná se o mysql databázi. Jak ukládat do databáze vím, ale chtěl jsem se zeptat, jestli se dá uložit všech 5 názvů do databáze naráz, nebo je třeba sql script opakovat 5x a pokaždé s jinou hodnotou $obrázek (
$sql="INSERT INTO  obrazky (nazev, dalsi_hodnota) VALUES ('$obrazek1', '$neco')";
     $vysledky = mysql_query( $sql )
  or die( mysql_error() );
)
Rád bych se zeptal na efektivnější řešení.
panther
Profil
jel_man:
vice zaznamu naraz lze vlozit takto:
INSERT INTO tabulka VALUES ('prvni'), ('druha'), ('treti');

Dotaz si muzes sestavit v cyklu, napr. ve foreachi nad polem $obrazek.
jel_man
Profil *
panther no měl jsem namysi zapis stejného záznamu vícekrát tzn. těch chodnot které jsou uloženy v $obrázek[0] atp...
panther
Profil
jel_man:
predpokladam, ze chces zapsat hodnoty $obrazek[0] az $obrazek[4], je to tak? Kde je tedy problem? Pouzil jsem symbolicky zapis, melo te to posstouchnout.

INSERT INTO tabulka VALUES ('$obrazek[0]', 'neco'), ('$obrazek[1]', 'neco'), ('$obrazek[2]', 'neco');

Dale ti tam pak chybi osetreni vstupu, jsou to stringy, takze mysql_real_escape_string kolem kazdeho.
jel_man
Profil *
Takže pokud jsem správně pochopil jak by to mělo být, tak by zápis vypadal následovně:
INSERT INTO tabulka (obrazek, hodnota ) VALUES ('$obrazek[0]', 'neco'), ('$obrazek[1]', 'neco') ... ;

vstupy budu ošetřovat posléze co zprovozním uložením do Db.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0